Dela via


Metodtips för att skapa en dimensionsmodell med hjälp av dataflöden

Att utforma en dimensionsmodell är en av de vanligaste uppgifterna du kan göra med ett dataflöde. I den här artikeln beskrivs några av metodtipsen för att skapa en dimensionsmodell med hjälp av ett dataflöde.

Mellanlagring av dataflöden

En av de viktigaste punkterna i alla dataintegreringssystem är att minska antalet läsningar från källdriftssystemet. I den traditionella dataintegreringsarkitekturen görs den här minskningen genom att skapa en ny databas som kallas för en mellanlagringsdatabas. Syftet med mellanlagringsdatabasen är att läsa in data som de är från datakällan till mellanlagringsdatabasen enligt ett regelbundet schema.

Resten av dataintegreringen använder sedan mellanlagringsdatabasen som källa för ytterligare transformering och konverterar den till den dimensionella modellstrukturen.

Vi rekommenderar att du följer samma metod med hjälp av dataflöden. Skapa en uppsättning dataflöden som ansvarar för att bara läsa in data som de är från källsystemet (och endast för de tabeller du behöver). Resultatet lagras sedan i dataflödets lagringsstruktur (antingen Azure Data Lake Storage eller Dataverse). Den här ändringen säkerställer att läsåtgärden från källsystemet är minimal.

Därefter kan du skapa andra dataflöden som hämtar sina data från mellanlagringsdataflöden. Fördelarna med den här metoden är:

  • Minska antalet läsåtgärder från källsystemet och minska belastningen på källsystemet som ett resultat.
  • Minska belastningen på datagatewayer om en lokal datakälla används.
  • Att ha en mellanliggande kopia av data i avstämningssyfte, om källsystemdata ändras.
  • Gör transformeringsdataflödena källoberoende.

Mellanlagring av dataflöden.

Bild som betonar mellanlagring av dataflöden och mellanlagring och visar data som används från datakällan av mellanlagringsdataflödet och tabeller som lagras i antingen Cadavers eller Azure Data Lake Storage. Tabellerna visas sedan transformeras tillsammans med andra dataflöden, som sedan skickas ut som frågor.

Transformeringsdataflöden

När du har separerat dina transformeringsdataflöden från mellanlagringsdataflödena är omvandlingen oberoende av källan. Den här separationen hjälper dig om du migrerar källsystemet till ett nytt system. Allt du behöver göra i så fall är att ändra mellanlagringsdataflödena. Transformeringsdataflödena fungerar troligen utan problem eftersom de endast kommer från mellanlagringsdataflödena.

Den här separationen hjälper också om källsystemanslutningen är långsam. Transformeringsdataflödet behöver inte vänta länge för att få poster som kommer via en långsam anslutning från källsystemet. Mellanlagringsdataflödet har redan gjort den delen och data kommer att vara redo för transformeringslagret.

Bild som liknar den föregående bilden, förutom att transformeringar betonas, och data skickas till informationslagret.

Arkitektur i lager

En arkitektur i flera lager är en arkitektur där du utför åtgärder i separata lager. Mellanlagrings- och transformeringsdataflöden kan vara två lager i en dataflödesarkitektur med flera lager. Om du försöker utföra åtgärder i lager säkerställs det minsta underhåll som krävs. När du vill ändra något behöver du bara ändra det i det lager där det finns. De andra lagren bör fortsätta att fungera bra.

Följande bild visar en arkitektur med flera lager för dataflöden där deras tabeller sedan används i Power BI-semantiska modeller.

Bild med arkitektur i flera lager, där mellanlagring av dataflöden och transformeringsdataflöden finns i separata lager.

Använd en beräknad tabell så mycket som möjligt

När du använder resultatet av ett dataflöde i ett annat dataflöde använder du begreppet beräknad tabell, vilket innebär att du hämtar data från en "redan bearbetad och lagrad" tabell. Samma sak kan hända i ett dataflöde. När du refererar till en tabell från en annan tabell kan du använda den beräknade tabellen. Det här är användbart när du har en uppsättning transformeringar som måste göras i flera tabeller, som kallas vanliga transformeringar.

Bild som visar den beräknade tabellen som kommer från en datakälla som används för att bearbeta vanliga transformeringar.

I föregående bild hämtar den beräknade tabellen data direkt från källan. I arkitekturen för mellanlagrings- och transformeringsdataflöden är det dock troligt att de beräknade tabellerna kommer från mellanlagringsdataflödena.

Beräknad tabell som kommer från dataflöden som används för att bearbeta vanliga transformeringar.

Skapa ett stjärnschema

Den bästa dimensionella modellen är en stjärnschemamodell som har dimensions- och faktatabeller utformade på ett sätt som minimerar tiden för att fråga efter data från modellen och som också gör det enkelt att förstå för datavisualiseraren.

Det är inte idealiskt att föra in data i samma layout som det operativa systemet i ett BI-system. Datatabellerna ska byggas om. Vissa av tabellerna bör ha formen av en dimensionstabell, som behåller den beskrivande informationen. Vissa av tabellerna bör ha formen av en faktatabell för att behålla aggregeringsbara data. Den bästa layouten för faktatabeller och dimensionstabeller att bilda är ett stjärnschema. Mer information: Förstå star-schema och vikten för Power BI

Star-schemabild som visar en faktatabell omgiven av dimensionstabeller, i form av en femuddig stjärna.

Använda ett unikt nyckelvärde för dimensioner

När du skapar dimensionstabeller kontrollerar du att du har en nyckel för var och en. Den här nyckeln säkerställer att det inte finns några många-till-många-relationer (eller med andra ord "svaga") relationer mellan dimensioner. Du kan skapa nyckeln genom att använda en transformering för att se till att en kolumn eller en kombination av kolumner returnerar unika rader i dimensionen. Sedan kan den kombinationen av kolumner markeras som en nyckel i tabellen i dataflödet.

Markera en kolumn som ett nyckelvärde.

Gör en inkrementell uppdatering för stora faktatabeller

Faktatabeller är alltid de största tabellerna i den dimensionella modellen. Vi rekommenderar att du minskar antalet rader som överförs för dessa tabeller. Om du har en mycket stor faktatabell kontrollerar du att du använder inkrementell uppdatering för tabellen. En inkrementell uppdatering kan göras i Power BI-semantikmodellen och även dataflödestabellerna.

Du kan använda inkrementell uppdatering för att endast uppdatera en del av data, den del som har ändrats. Det finns flera alternativ för att välja vilken del av data som ska uppdateras och vilken del som ska sparas. Mer information: Använda inkrementell uppdatering med Power BI-dataflöden

Inkrementell uppdatering för dataflöden.

Refererar till att skapa dimensions- och faktatabeller

I källsystemet har du ofta en tabell som du använder för att generera både fakta- och dimensionstabeller i informationslagret. Dessa tabeller är bra kandidater för beräknade tabeller och även mellanliggande dataflöden. Den gemensamma delen av processen– till exempel datarensning och borttagning av extra rader och kolumner – kan göras en gång. Genom att använda en referens från utdata från dessa åtgärder kan du skapa dimensions- och faktatabellerna. Den här metoden använder den beräknade tabellen för de vanliga omvandlingarna.

Bild som visar en Order-fråga med referensalternativet som används för att skapa en ny fråga med namnet Beställningar aggregerade.