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


LuckyTemplates egendefinerte ikoner | PBI visualiseringsteknikk

LuckyTemplates egendefinerte ikoner | PBI visualiseringsteknikk

Jeg vil diskutere en av mine favorittteknikker rundt LuckyTemplates egendefinerte ikoner, som bruker egendefinerte ikoner på en dynamisk måte i LuckyTemplates visuals.

Opprette LuckyTemplates-tabeller ved å bruke UNION & ROW-funksjonen

Opprette LuckyTemplates-tabeller ved å bruke UNION & ROW-funksjonen

I denne bloggen viser jeg deg hvordan du kan lage LuckyTemplates-tabeller ved å bruke en formel som kombinerer UNION-funksjonen og ROW-funksjonen.

On-Premises Data Gateway In Power Automate

On-Premises Data Gateway In Power Automate

Oppdag hvordan on-premises data gateway lar Power Automate få tilgang til skrivebordsapplikasjoner når brukeren er borte fra datamaskinen.

Oppdag unik innsikt ved å bruke LuckyTemplates TOPN-funksjon

Oppdag unik innsikt ved å bruke LuckyTemplates TOPN-funksjon

Denne bloggen inneholder LuckyTemplates TOPN DAX-funksjonen, som lar deg få unik innsikt fra dataene dine, og hjelper deg med å ta bedre markedsføringsbeslutninger.

Datamodellering i LuckyTemplates ved hjelp av støttetabeller

Datamodellering i LuckyTemplates ved hjelp av støttetabeller

Lær noen fantastiske analytiske teknikker som vi kan gjøre for datamodellering i LuckyTemplates ved å bruke DAX-støttetabeller.

Avansert DAX for LuckyTemplates: Implementering av rangeringslogikk på tvers av unik innsikt

Avansert DAX for LuckyTemplates: Implementering av rangeringslogikk på tvers av unik innsikt

Her dykker vi ned i LuckyTemplates Advanced DAX og implementerer rangeringslogikk for å få en helt unik innsikt. Jeg viser også frem målegrening i dette eksemplet.

LuckyTemplates What-If-parameterfunksjon

LuckyTemplates What-If-parameterfunksjon

Denne bloggen introduserer den nye funksjonen i LuckyTemplates, What-If-analyseparameteren. Du vil se hvordan det gjør alt raskt og enkelt for scenarioanalysen din.

Bruk LuckyTemplates Mål forgrening for å sjekke om marginene dine øker ettersom inntektene vokser

Bruk LuckyTemplates Mål forgrening for å sjekke om marginene dine øker ettersom inntektene vokser

Finn ut hvordan du kan finne ut om inntektsveksten din er god ved å sjekke om marginene dine økte ved å bruke LuckyTemplates som måler forgrening.

LuckyTemplates Parameters Via Query Editor

LuckyTemplates Parameters Via Query Editor

Lær og forstå hvordan du kan lage og bruke LuckyTemplates Parameters som er en kraftig funksjon i spørringsredigereren.

Rundt stolpediagram – en visualisering for dashbordet ditt

Rundt stolpediagram – en visualisering for dashbordet ditt

Denne opplæringen vil diskutere hvordan du lager et rundt søylediagram ved hjelp av Charticulator. Du vil lære hvordan du designer dem for LuckyTemplates-rapporten.