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


Skapa en datumtabell i LuckyTemplates

Skapa en datumtabell i LuckyTemplates

Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.

LuckyTemplates mobilrapporteringstips och tekniker

LuckyTemplates mobilrapporteringstips och tekniker

Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.

Professional Service Analytics-rapporter i LuckyTemplates

Professional Service Analytics-rapporter i LuckyTemplates

I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.

Vanliga SQL-funktioner: En översikt

Vanliga SQL-funktioner: En översikt

Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.

LuckyTemplates Skapa mall: Guide och tips

LuckyTemplates Skapa mall: Guide och tips

I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.

Fältparametrar och små multiplar i LuckyTemplates

Fältparametrar och små multiplar i LuckyTemplates

I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.

LuckyTemplates Rank och anpassad gruppering

LuckyTemplates Rank och anpassad gruppering

I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.