Beste praksis for datalasting og transformasjon

Jeg vil gjerne presentere de beste fremgangsmåtene jeg har tatt i bruk mens jeg utarbeidet LuckyTemplates-rapporter. I løpet av de siste årene har jeg brukt mange nettressurser om datalasting og transformasjon som har vært medvirkende til reisen min, men jeg ble raskt overveldet av innholdet, så jeg endte opp med å lage mine egne notater. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.

Dette er på ingen måte en uttømmende liste og heller ikke de beste fremgangsmåtene – de er bare noen av de jeg har tatt med i min egen utvikling. De beste praksisene utvikler seg også over tid ettersom nye og forbedrede funksjoner introduseres i LuckyTemplates-applikasjonen og presenteres av LuckyTemplates-fellesskapet.

Jeg vil gjerne presentere den første av de fire pilarene i utviklingen av LuckyTemplates. De fire pilarene er datainnlasting og datatransformasjon , datamodellering , DAX-beregninger og rapporter og visualiseringer . Vi vil ta for oss oppsettet før utviklingen og den første søylen i dette blogginnlegget.

Beste praksis for datalasting og transformasjon

Innholdsfortegnelse

Deaktiverer automatisk dato/klokkeslett

Det anbefales på det sterkeste at du deaktiverer funksjonen for automatisk dato og klokkeslett. Du kan gjøre dette på to måter.

Du kan gjøre dette globalt for alle filer med disse trinnene:

Beste praksis for datalasting og transformasjon

Du kan også deaktivere den for gjeldende fil ved å endre innstillingen.

Beste praksis for datalasting og transformasjon

Deaktiverer automatisk oppdage relasjoner

Det anbefales også på det sterkeste at du deaktiverer relasjonene som automatisk oppdages. Du kan gå til Fil og se Alternativer og innstillinger for å deaktivere automatisk oppdagelse av nye relasjoner etter at dataene er lastet inn.

Beste praksis for datalasting og transformasjon

Interaksjon med visuelle elementer i LuckyTemplates-rapporter

Det neste jeg vil snakke om er de to måtene du kan samhandle med visuelle elementer i LuckyTemplates-rapporter. Disse interaksjonene kan enten kryssfiltreres eller kryssutheves .

Beste praksis for datalasting og transformasjon

Kryssutheving er aktivert som standard i LuckyTemplates. Du kan endre dette ved å gå inn i Fil og deretter Alternativer og innstillinger. For gjeldende fil i rapportinnstillinger-delen kan du endre den visuelle interaksjonen fra kryssutheving til kryssfiltrering.

La oss ta en titt på rapporten vår. Du kan se at LuckyTemplates som standard bruker kryssutheving på relaterte bilder. Hvis jeg klikker på en kanal fra venstre stolpediagram, vil du se at den valgte delen er uthevet i mørk farge mens den umarkerte delen forblir i lys farge i det andre stolpediagrammet.

Beste praksis for datalasting og transformasjon

Du kan se at hele formen ikke endres i grafen, og du ser bare de uthevede delene. Du kan endre dette fra rapportinnstillingene og endre standard visuell interaksjon fra kryssutheving til kryssfiltrering.

Beste praksis for datalasting og transformasjon

Når du har gjort det, vil du se at formen på det relaterte søylediagrammet ditt vil endre seg hver gang du gjør et valg eller en gruppe med valg. Dette er en god praksis å sette seg inn i.

Beste praksis for datalasting og transformasjon

Skille datasett fra rapport

Den neste tingen jeg vil snakke om er å skille datasettutviklingen fra rapportutviklingen. Det er her du kan ha en tykk datasettfil publisert som et frittstående datasett som ikke har noen visuelle elementer, og en tynn rapportfilutvikling som vil bruke disse publiserte datasettene.

En av fordelene med å publisere datasett separat er at du kan bruke godkjenningsprosessen i LuckyTemplates-tjenesten for å markedsføre og sertifisere datasett. Det er en ideell praksis å velge et godkjent datasett, helst et sertifisert når du utvikler en ny rapport.

Beste praksis for datalasting og transformasjon

Opprette en dedikert datotabell

Sørg for at rapporten har en egen Dato-tabell i rapporten. Du kan bruke det som er tilgjengelig på LuckyTemplates-forumet. Du kan kopiere og lime inn M-koden i en tom spørring.

Den andre tingen å gjøre når du har en dedikert Datoer-tabell, er å merke den som sådan. Dette vil gjøre det mulig å bruke LuckyTemplates for tidsintelligensberegninger.

Beste praksis for datalasting og transformasjon

Andre påminnelser for datotabellen

Sørg alltid for at datatabellen er sammenhengende og at det er én rad per dag. Sjekk også at den dekker kantene på faktatabellen helt.

Legg også til hele år i Datoer-tabellen. Det er også en god idé å legge til et ekstra fremtidig år i Datoer-tabellen for å aktivere eventuelle fremtidige eller prognosetidsintelligensberegninger.

Hvis du har flere dager i Datoer-tabellen enn du vil vise i rapporten, kan du kontrollere hva som vises i slicers ved å bruke IsAfterToday-kolonnen eller forskyvningskolonnene som er tilgjengelige i filterruten.

Beste praksis for datalasting og transformasjon

Stille spørsmål om rapporten

Det neste jeg vil snakke om er om du i det hele tatt bør lage en rapport. Mens du gjør det, sjekk for å se om det er en eksisterende rapport du kan bruke for å oppfylle ditt behov. Hvis det ikke er noen rapport, finnes det en eksisterende datamodell du kan bruke for å oppfylle behovet? Er det et eksisterende datasett du kan bruke, eller trenger du faktisk å starte fra bunnen av?

Beste praksis for datalasting og transformasjon

Iscenesettelse og referanse til data

Den neste tingen å snakke om når datainnlasting er iscenesettelsen og referansedataene. Når du laster en flat datatabell, kan du ha fakta ogi samme tabell som en Excel-fil. Når du laster inn og flytter den inn i en oppsamlingsspørringsdel og gir den nytt navn, kan du fjerne merket for Aktiver innlasting .

Beste praksis for datalasting og transformasjon

Beste praksis for datalasting og transformasjon

Det neste trinnet er å lage en referanse til den tabellen for hver fakta- og oppslagsdimensjon og gi tabellene nytt navn. Rediger hver referanse, behold bare de nødvendige kolonnene og fjern duplikater.

Beste praksis for datalasting og transformasjon

Beste praksis for datalasting og transformasjon

Organiser datamodellen din, og sett den i sin egen gruppe. Jeg har alltid en gruppe i datamodellene mine som heter Data Model som har alle tabellene jeg skal bruke i mine visuelle bilder.

Beste praksis for datalasting og transformasjon

Redusere databelastningen

Den neste tingen å snakke om er ytelsen til verktøyet når data lastes. En av de største tingene som påvirker ytelsen er datavolumet, så prøv å redusere mengden data som skal lastes så mye som mulig.

Følg dette aksiomet:

Hvis du ikke trenger det, ikke hent det.

Det er mye lettere å legge til nye ting i en rapport enn det er å ta ting ut av rapporten vår. Også når du legger for mange ting i en rapport, vil du betale en straff for ytelse du ikke trenger å oppleve.

Gjør fortrinnsvis filtreringen i kilden. Hvis du ikke kan gjøre det i kilden, bruker du rullegardinpilen for automatisk filter i strømspørringen for å filtrere feltene du er interessert i.

Beste praksis for datalasting og transformasjon

Også i kilden kan du også redusere antall kolonner som vises ved å bruke rullegardinmenyen Velg kolonner og velge bare kolonnene som er av interesse for deg.

Du kan bruke enten Velg kolonner eller Fjern kolonner . Jeg anbefaler å bruke Velg kolonner som beste praksis fordi det er enkelt å gå tilbake til.

Hvis du ombestemmer deg på et senere tidspunkt, gir det deg en rask måte å gjøre det gjennom brukergrensesnittet i stedet for å gå inn i den avanserte editoren og redigere M-koden direkte.

Beste praksis for datalasting og transformasjon

Spørrefolding

Spørringsfolding er et annet datainnlastingsforsøk fra LuckyTemplates for å kombinere flere datavalg og transformasjonstrinn til en enkelt datakildespørring.

For å finne ut om en spørring blir foldet, høyreklikk på de brukte trinnene i en spørring. Du kan se om et integrert søk er nedtonet.

Hvis den er nedtonet, brettes ikke spørringen. Hvis den ikke er nedtonet, kan søket brettes.

La oss gå til Transform data , da. I denne tabellen, hvis jeg høyreklikker på navigasjonstrinnet, kan jeg se at View Native Query ikke er nedtonet slik at jeg kan velge den.

Beste praksis for datalasting og transformasjon

Vi vil se en enkel SQL select-setning her.

Beste praksis for datalasting og transformasjon

Hvis vi går til neste trinn etter at filtreringen er utført og viser den opprinnelige spørringen, kan vi se at spørringen er litt endret, og det er en "hvor"-klausul nederst i spørringen.

Beste praksis for datalasting og transformasjon

Hvis vi går til det tredje trinnet og høyreklikker på det, kan vi se at den opprinnelige spørringen ikke er nedtonet, så vi kan velge den en gang til.

Beste praksis for datalasting og transformasjon

Når vi har valgt, kan vi se at det er en enda større sammenbrudd av de tre søkene til ett. Dette er LuckyTemplates som sier at den beste måten å få dataene inn i modellen på er at kilden gjør arbeidet i stedet for at jeg gjør arbeidet.

Beste praksis for datalasting og transformasjon

Bruke datakilder for folding av spørringer

Datakilder som vanligvis kan brukes med spørringsfolding er standardobjekter i relasjonsdatabaser som tabeller og visninger.

Tilpassede SQL-spørringer til relasjonsdatabaser kan ikke bruke spørringsfolding. Flate filer og nettdata kan heller ikke brettes.

Noen av transformasjonene som kan brukes med søkfolding er filtrering av rader , fjerning av kolonner , endre navn på kolonner og sammenføyninger til andre søk fra samme datakilde.

Noen av transformasjonene som ikke kan brukes med søkfolding inkluderer å legge til indekskolonner , endre kolonnedatatyper og slå sammen eller legge til spørringer fra forskjellige datakilder .

Velge riktig tilkoblingsmodus

Den neste tingen å gjøre for å forbedre ytelsen er å velge riktig tilkoblingsmodus. Importmodus er standard og bør brukes når det er mulig, da det gir best rapportytelse.

Direkte spørringsmodus kan brukes hvis oppdaterte data er ønsket, men vær oppmerksom på at det kan og sannsynligvis vil ha en negativ ytelseseffekt.

Endelig er en live-tilkoblingsmodus tilgjengelig når du får tilgang til datavarehus som en SSAS flerdimensjonale kuber.

Finne transformasjonene

Det neste jeg vil snakke om er plasseringen av hvor disse transformasjonene skal gjøres. Det beste stedet å gjøre dem er i kilden . Hvis du ikke kan gjøre dem i kilden, gjør dem i power-query . Hvis du ikke kan gjøre dem i power-query, så gjør dem i DAX .

Utfør datatransformasjonene dine så langt oppstrøms som mulig, og så langt nedstrøms som nødvendig.

Hvis du kan gjøre noe i kraftspørring, bør du sannsynligvis gjøre det.

Igjen, hvis det ikke er noe som er dynamisk innenfor rammen av rapportøkten, kan du vurdere å gjøre det i power-query for å forenkle DAX og øke rapportytelsen.

Når det gjelder formen på bordene dine, bestreb å gjøre faktatabeller lange og tynne , og forsøk å gjøre dimensjonstabeller korte og brede .

Beste praksis for navngiving og datatyper

Bruk et konsistent navne- og store bokstavsskjema som er enkelt å forstå for rapportbrukere. Gi nytt navn til tabellene og spørringene etter behov for å samsvare med standardene for navn og store bokstaver for rapporten.

Gi nytt navn til kolonnene dine etter behov for å samsvare med disse navne- og foringsstandardene, og endre navn på kraftspørringstrinnene dine etter behov for å gjøre trinnene selvbeskrivende, siden du kanskje ikke er personen som vedlikeholder rapporten.

LuckyTemplates gjør en utmerket jobb med å tildele de riktige datatypene når du importerer data, men noen ganger er det også nødvendig med noen justeringer. Du bør sørge for at kolonner i forskjellige tabeller vil bli brukt som koblingskolonner mellom to tabeller som er av samme datatype.

Sørg for at alle datokolonnene dine er Dato og ikke Tekst. Del opp dato/klokkeslett-kolonnene dine i separate Datoer og separate Tidskolonner.

Som et siste trinn kontrollerer du datatypene dine på nytt . Gjør det til en øvelse før du trykker på Lukk og Bruk i power-spørringen for alltid å sjekke datatypene dine på nytt, siden visse transformasjoner stille kan bytte datatyper til tekst.

Innhenting av data med en konsekvent granularitet

Den siste tingen å diskutere er granularitet. Under datainnlastings- og transformasjonsprosessen bør du strebe etter å kilde dataene dine med en konsistent granularitet. Når du kombinerer ulike granulariteter i løsningen din, bruk power query (helst) eller DAX for å allokere referansedataene på riktig måte.

For eksempel, hvis hovedsalgsdataene dine er på daglig nivå, er granulariteten daglig. Hvis budsjettreferansedataene dine er på månedsnivå, er granulariteten månedlig. Her er et eksempel på et du kan se på når du gjør granularitetsjusteringer.

Konklusjon

Jeg håper du fant denne opplæringen om datalasting og transformasjon nyttig. Hvis du gjorde det, ikke glem å abonnere på LuckyTemplates YouTube-kanal for å sikre at du blir varslet om nytt innhold.

Greg


DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.

Opprette en datotabell i LuckyTemplates

Opprette en datotabell i LuckyTemplates

Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.

Vanlige SQL-funksjoner: en oversikt

Vanlige SQL-funksjoner: en oversikt

Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.

LuckyTemplates Template Creation: Guide og tips

LuckyTemplates Template Creation: Guide og tips

I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.

LuckyTemplates-rangering og tilpasset gruppering

LuckyTemplates-rangering og tilpasset gruppering

I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.