Bästa praxis för dataladdning och transformation

Jag skulle vilja presentera de bästa metoderna jag har använt när jag förberedde LuckyTemplates-rapporter. Under de senaste åren har jag använt många onlineresurser om dataladdning och transformation som har varit avgörande för min resa, men jag blev snabbt överväldigad av innehållet, så det slutade med att jag gjorde mina egna anteckningar. Du kan se hela videon av denna handledning längst ner på den här bloggen.

Det här är inte på något sätt en uttömmande lista eller de bästa metoderna – de är bara några av de som jag har införlivat i min egen utveckling. De bästa metoderna utvecklas också med tiden när nya och förbättrade funktioner introduceras i LuckyTemplates-applikationen och presenteras av LuckyTemplates-gemenskapen.

Jag skulle vilja presentera den första av de fyra pelarna i utvecklingen av LuckyTemplates. De fyra pelarna är dataladdning och datatransformation , datamodellering , DAX-beräkningar och rapporter och visualiseringar . Vi kommer att ta itu med upplägget före utvecklingen och den första pelaren i det här blogginlägget.

Bästa praxis för dataladdning och transformation

Innehållsförteckning

Inaktivera automatiskt datum/tid

Det rekommenderas starkt att du inaktiverar funktionen för automatisk datum och tid i. Du kan göra detta på två sätt.

Du kan göra detta globalt för alla filer med dessa steg:

Bästa praxis för dataladdning och transformation

Du kan också inaktivera den för den aktuella filen genom att ändra dess inställning.

Bästa praxis för dataladdning och transformation

Inaktivera automatisk identifiering av relationer

Det rekommenderas också starkt att du inaktiverar de automatiska identifieringsförhållandena. Du kan gå till Arkiv och visa Alternativ och inställningar för att inaktivera automatisk upptäckt av nya relationer efter att data har laddats.

Bästa praxis för dataladdning och transformation

Interagera med bilder i LuckyTemplates-rapporter

Nästa sak jag vill prata om är de två sätten som du kan interagera med bilder i LuckyTemplates-rapporter. Dessa interaktioner kan antingen korsfiltreras eller korsmarkeras .

Bästa praxis för dataladdning och transformation

Korsmarkering är aktiverat som standard i LuckyTemplates. Du kan ändra detta genom att gå till Arkiv och sedan Alternativ och inställningar. För den aktuella filen i avsnittet rapportinställningar kan du ändra den visuella interaktionen från korsmarkering till korsfiltrering.

Låt oss ta en titt på vår rapport. Du kan se att LuckyTemplates som standard använder korsmarkering på relaterade bilder. Om jag klickar på en kanal från det vänstra stapeldiagrammet ser du att den valda delen är markerad i mörk färg medan den omarkerade delen förblir i ljus färg i det andra stapeldiagrammet.

Bästa praxis för dataladdning och transformation

Du kan se att hela formen inte ändras i grafen och du ser bara de markerade delarna. Du kan ändra detta från rapportinställningarna och ändra den visuella standardinteraktionen från korsmarkering till korsfiltrering.

Bästa praxis för dataladdning och transformation

När du har gjort det kommer du att se att formen på ditt relaterade stapeldiagram ändras varje gång du gör ett urval eller en grupp av val. Detta är en bra praxis att komma in i.

Bästa praxis för dataladdning och transformation

Separera datauppsättning från rapport

Nästa sak som jag vill prata om är att separera din datauppsättningsutveckling från din rapportutveckling. Det är här du kan ha en tjock datauppsättningsfil publicerad som en fristående datauppsättning som inte har några bilder, och en tunn rapportfilutveckling som kommer att använda dessa publicerade datauppsättningar.

En av fördelarna med att publicera datamängder separat är att du kan använda rekommendationsprocessen i LuckyTemplates-tjänsten för att marknadsföra och certifiera datamängder. Det är en idealisk praxis att välja en godkänd datauppsättning, helst en certifierad sådan när du utvecklar en ny rapport.

Bästa praxis för dataladdning och transformation

Skapa en dedikerad datumtabell

Se till att din rapport har en särskild datumtabell i din rapport. Du kan använda det som är tillgängligt på LuckyTemplates-forumet. Du kan kopiera och klistra in M-koden i en tom fråga.

Det andra du ska göra när du väl har en dedikerad datumtabell är att markera den som sådan. Detta gör att det kan användas av LuckyTemplates för tidsintelligensberäkningar.

Bästa praxis för dataladdning och transformation

Andra påminnelser för datumtabellen

Se alltid till att din datatabell är sammanhängande och att det finns en rad per dag. Kontrollera också att den helt täcker kanterna på ditt faktabord.

Lägg också till hela år i tabellen Datum. Det är också en bra idé att lägga till ytterligare ett framtida år i tabellen Datum för att möjliggöra framtida eller prognostiserade tidsintelligensberäkningar.

Om du har fler dagar i din Datumtabell än du vill visa i din rapport, kan du styra vad som visas i slicers med hjälp av IsAfterToday-kolumnen eller offsetkolumnerna som är tillgängliga i filterrutan.

Bästa praxis för dataladdning och transformation

Ställ frågor om rapporten

Nästa sak jag vill prata om är om du ska göra en anmälan överhuvudtaget. När du gör det, kontrollera om det finns en befintlig rapport som du kan använda för att uppfylla ditt behov. Om det inte finns någon rapport, finns det en befintlig datamodell som du kan använda för att uppfylla behovet? Finns det en befintlig datamängd du kan använda eller behöver du faktiskt börja om från början?

Bästa praxis för dataladdning och transformation

Staging Och Referera Data

Nästa sak att prata om när data laddas är iscensättning och referensdata. När du laddar en platt datatabell kan du ha fakta ochi samma tabell som en Excel-fil. När du gör en inläsning och flyttar den till en iscensättningsfrågasektion och byter namn på den kan du avmarkera Aktivera inläsning .

Bästa praxis för dataladdning och transformation

Bästa praxis för dataladdning och transformation

Nästa steg är att skapa en referens för den tabellen för varje fakta- och uppslagsdimension och att byta namn på tabellerna på lämpligt sätt. Redigera varje referens, behåll bara de kolumner som behövs och ta bort dubbletter.

Bästa praxis för dataladdning och transformation

Bästa praxis för dataladdning och transformation

Organisera din datamodell och placera den i en egen grupp. Jag har alltid en grupp i mina datamodeller som heter Data Model som har alla tabeller som jag ska använda i mina bilder.

Bästa praxis för dataladdning och transformation

Minska databelastningen

Nästa sak att prata om är verktygets prestanda vid dataladdning. En av de största sakerna som påverkar prestandan är datavolymen, så sträva efter att minska mängden data som ska laddas så mycket som möjligt.

Följ detta axiom:

Om du inte behöver det, hämta det inte.

Det är mycket lättare att lägga till nya saker i en rapport än att ta bort saker från vår rapport. Också när du lägger för många saker i en rapport, kommer du att betala en straffavgift för prestation som du inte behöver uppleva.

Gör helst din filtrering i källan. Om du inte kan göra det i källan, använd rullgardinsmenyn för automatisk filter i power-frågan för att filtrera de fält som du är intresserad av.

Bästa praxis för dataladdning och transformation

Även i källan kan du också minska antalet kolumner som visas genom att använda rullgardinsmenyn Välj kolumner och bara välja de kolumner som är av intresse för dig.

Du kan använda antingen Välj kolumner eller Ta bort kolumner . Jag rekommenderar att du använder Välj kolumner som bästa praxis eftersom det är lätt att gå tillbaka till.

Om du ändrar dig vid ett senare tillfälle ger det dig ett snabbt sätt att göra det genom användargränssnittet istället för att gå in i den avancerade redigeraren och redigera M-koden direkt.

Bästa praxis för dataladdning och transformation

Fråga Vikning

Frågevikning är ytterligare ett försök att ladda data från LuckyTemplates för att kombinera flera dataurval och omvandlingssteg till en enda datakällafråga.

För att avgöra om en fråga vikas, högerklicka på de tillämpade stegen i en fråga. Du kan se om en inbyggd fråga är nedtonad.

Om den är nedtonad viks inte frågan. Om den inte är nedtonad kan frågan vikas.

Låt oss gå till Transform data. I den här tabellen, om jag högerklickar på navigeringssteget, kan jag se att View Native Query inte är nedtonad så jag kan välja den.

Bästa praxis för dataladdning och transformation

Vi kommer att se en enkel SQL select-sats här.

Bästa praxis för dataladdning och transformation

Om vi ​​går till nästa steg efter att filtreringen har gjorts och visar den inbyggda frågan, kan vi se att frågan har ändrats något och att det finns en "where"-klausul längst ner i den frågan.

Bästa praxis för dataladdning och transformation

Om vi ​​går till det tredje steget och högerklickar på det kan vi se att den inbyggda frågan inte är nedtonad, så vi kan välja den en gång till.

Bästa praxis för dataladdning och transformation

När vi väl har valt kan vi se att det finns en ännu större kollaps av de tre frågorna till en. Det här är LuckyTemplates som säger att det bästa sättet att få in data i modellen är att källan gör jobbet istället för att jag gör jobbet.

Bästa praxis för dataladdning och transformation

Använda datakällor för frågevikning

Datakällor som vanligtvis kan användas med frågevikning är standardobjekt i relationsdatabaser som tabeller och vyer.

Anpassade SQL-frågor till relationsdatabaser kan inte använda frågevikning. Platta filer och webbdata kan inte heller vikas.

Några av transformationerna som kan användas med frågevikning är att filtrera rader , ta bort kolumner , byta namn på kolumner och ansluta till andra frågor från samma datakälla.

Några av de transformationer som inte kan användas med frågevikning inkluderar att lägga till indexkolumner , ändra kolumndatatyper och slå samman eller lägga till frågor från olika datakällor .

Att välja rätt anslutningsläge

Nästa sak att göra för att förbättra prestandan är att välja rätt anslutningsläge. Importläge är standard och bör användas när det är möjligt eftersom det ger bästa rapportprestanda.

Direktförfrågningsläge kan användas om aktuella data önskas, men var bara medveten om att det kan och sannolikt kommer att ha en negativ inverkan på prestanda.

Slutligen är ett liveanslutningsläge tillgängligt när du kommer åt datalager som en SSAS flerdimensionella kuber.

Lokalisera förvandlingarna

Nästa sak jag vill prata om är platsen för var dessa transformationer ska göras. Det bästa stället att göra dem är i källan . Om du inte kan göra dem i källan, gör dem i power query . Om du inte kan göra dem i power query, gör dem sedan i DAX .

Utför dina datatransformationer så långt uppströms som möjligt och så långt nedströms som nödvändigt.

Om du kan göra något i maktfrågan så borde du förmodligen göra det.

Återigen, om det inte är något som är dynamiskt inom ramen för rapportsessionen, vänligen överväg att göra det i power-query för att förenkla din DAX och öka din rapportprestanda.

När det gäller formen på dina bord, sträva efter att göra faktatabeller långa och tunna och sträva efter att göra dimensionstabeller korta och breda .

Bästa metoder för namngivning och datatyper

Använd ett konsekvent namn- och skiftlägesschema som är lätt att förstå för rapportanvändare. Byt namn på dina tabeller och frågor efter behov för att överensstämma med standarderna för namn och skiftläge för din rapport.

Byt namn på dina kolumner efter behov för att överensstämma med dessa namn- och skiftstandarder, och byt även namn på dina power query-steg vid behov för att göra stegen självbeskrivande eftersom du kanske inte är den person som underhåller rapporten.

LuckyTemplates gör ett utmärkt jobb med att tilldela rätt datatyper vid import av data, men ibland är det också nödvändigt med vissa justeringar. Du bör se till att kolumner i olika tabeller kommer att användas som länkkolumner mellan två tabeller som är av samma datatyp.

Se till att alla dina datumkolumner är Datum och inte Text. Dela upp dina datum/tid-kolumner i separata datum- och separata tidskolumner.

Som ett sista steg kontrollerar du dina datatyper igen . Gör det till en övning innan du trycker på Stäng och Använd i power-frågan för att alltid kontrollera dina datatyper igen eftersom vissa transformationer tyst kan byta datatyper till text.

Inköp av data med en konsekvent granularitet

Det sista att diskutera är granularitet. Under dataladdnings- och omvandlingsprocessen bör du sträva efter att hämta dina data med en konsekvent granularitet. När du kombinerar olika granulariteter i din lösning, använd power query (helst) eller DAX för att allokera referensdata på lämpligt sätt.

Till exempel, om din huvudsakliga försäljningsdata är på daglig nivå, är dens granularitet dagligen. Om din budgetreferensdata är på månadsnivå är dess granularitet månadsvis. Här är ett exempel på ett du kan granska när du gör granularitetsjusteringar.

Slutsats

Jag hoppas att du tyckte att den här handledningen om dataladdning och omvandling var användbar. Om du gjorde det, glöm inte att prenumerera på LuckyTemplates YouTube-kanal för att säkerställa att du får ett meddelande om nytt innehåll.

Greg


Upptäck unika insikter med LuckyTemplates TOPN-funktion

Upptäck unika insikter med LuckyTemplates TOPN-funktion

Den här bloggen innehåller LuckyTemplates TOPN DAX-funktion, som gör att du kan få unika insikter från dina data, vilket hjälper dig att fatta bättre marknadsföringsbeslut.

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Datamodellering i LuckyTemplates med hjälp av stödtabeller

Lär dig några fantastiska analytiska tekniker som vi kan göra för datamodellering i LuckyTemplates med hjälp av DAX-stödtabeller.

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Avancerad DAX för LuckyTemplates: Implementering av rankningslogik över unika insikter

Här dyker vi in ​​i LuckyTemplates Advanced DAX och implementerar rankningslogik för att få en mycket unik insikt. Jag visar också upp måttförgrening i det här exemplet.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Den här bloggen introducerar den nya funktionen i LuckyTemplates, analysparametern What-If. Du kommer att se hur det gör allt snabbt och enkelt för din scenarioanalys.

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Använd LuckyTemplates Mät förgreningar för att kontrollera om dina marginaler ökar när intäkterna växer

Lär dig hur du avgör om din intäktstillväxt är bra genom att kontrollera om dina marginaler ökade med hjälp av LuckyTemplates mäter förgrening.

LuckyTemplates parametrar via frågeredigerare

LuckyTemplates parametrar via frågeredigerare

Lär dig och förstå hur du kan skapa och använda LuckyTemplates-parametrar som är en kraftfull funktion i frågeredigeraren.

Runda stapeldiagram – En visualisering för din instrumentpanel

Runda stapeldiagram – En visualisering för din instrumentpanel

Denna handledning kommer att diskutera hur man skapar ett runt stapeldiagram med Charticulator. Du kommer att lära dig hur du designar dem för din LuckyTemplates-rapport.

PowerApps funktioner och formler | En introduktion

PowerApps funktioner och formler | En introduktion

Lär dig hur du använder PowerApps funktioner och formler för att förbättra funktionaliteten och ändra ett beteende i vår Power Apps canvas-app.

Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.