Beräknade entitetsscenarier och användningsfall
Det finns fördelar med att använda beräknade entiteter i ett dataflöde. Den här artikeln beskriver användningsfall för beräknade entiteter och beskriver hur de fungerar i bakgrunden.
Vad är en beräknad entitet?
En entitet representerar datautdata för en fråga som skapats i ett dataflöde efter att dataflödet har uppdaterats. Den representerar data från en källa och, om du vill, de transformningar som tillämpades på den. Ibland kanske du vill skapa nya entiteter som är en funktion i en entitet som matats in tidigare.
Även om det är möjligt att upprepa de frågor som skapade en entitet och tillämpa nya omvandlingar på dem, har den här metoden nackdelar: data matas in två gånger och belastningen på datakällan dubblerats.
Beräknade entiteter löser båda problemen. Beräknade entiteter liknar andra entiteter på så sätt att de hämtar data från en källa och du kan tillämpa ytterligare transformningar för att skapa dem. Men deras data kommer från det lagringsdataflöde som används och inte den ursprungliga datakällan. Det innebär att de tidigare har skapats av ett dataflöde och sedan återanvändas.
Beräknade entiteter kan skapas genom att referera till en entitet i samma dataflöde eller genom att referera till en entitet som skapats i ett annat dataflöde.

Varför ska jag använda en beräknad entitet?
Det kan ta lång tid att utföra alla transformeringssteg i en entitet. Det kan finnas många orsaker till att datakällan blir långsammare, eller så kan de transformningar du gör behöva replikeras i två — eller flera frågor. Det kan vara fördelaktigt att först mata in data från källan och sedan återanvända dem i en eller flera entiteter. I sådana fall kan du välja att skapa två entiteter: en som hämtar data från datakällan och en annan en beräknad entitet som tillämpar ytterligare omvandlingar på data som redan har skrivits till datasjön som används av ett — — dataflöde. Detta kan öka prestanda och återanvändning av data, vilket sparar tid och resurser.
Om två entiteter till exempel delar en del av sin transformeringslogik, utan en beräknad entitet, måste omvandlingen göras två gånger.

Men om en beräknad entitet används bearbetas den gemensamma (delade) delen av transformeringen en gång och lagras i Azure Data Lake Storage. De återstående omvandlingarna bearbetas sedan från utdata från den gemensamma transformeringen. Den här bearbetningen går överlag mycket snabbare.

En beräknad entitet tillhandahåller en plats som källkod för omvandlingen och påskyndar omvandlingen eftersom den bara behöver göras en gång i stället för flera gånger. Belastningen på datakällan minskar också.
Exempelscenario för att använda en beräknad entitet
Om du skapar en aggregerad tabell i Power BI för att påskynda datamodellen kan du skapa den aggregerade tabellen genom att referera till den ursprungliga tabellen och tillämpa ytterligare transformningar på den. Med den här metoden behöver du inte replikera din transformering från källan (den del som kommer från den ursprungliga tabellen).
Följande bild visar till exempel en entitet av entiteten Beställningar.

Med hjälp av en referens från den här entiteten kan du skapa en beräknad entitet.
Bild som visar hur du skapar en beräknad entitet från entiteten Beställningar. Högerklicka först på entiteten Beställningar i fönstret Frågor och välj alternativet Referens i den nedrullningsna menyn, vilket skapar den beräknade entiteten, som här har bytt namn till Aggregerade beställningar.
Den beräknade entiteten kan ha ytterligare transformningar. Du kan till exempel använda Gruppera efter för att aggregera data på kundnivå.

Det innebär att entiteten Orders Aggregated hämtar data från entiteten Beställningar och inte från datakällan igen. Eftersom vissa av de transformningar som behöver göras redan har gjorts i entiteten Beställningar blir prestanda bättre och datatransformering går snabbare.
Beräknad entitet i andra dataflöden
Du kan också skapa en beräknad entitet i andra dataflöden. Du kan skapa den genom att hämta data från ett dataflöde med Microsoft Power Platform dataflödesanslutning.
Bilden framhäver anslutningsappen för Power Platform-dataflöden från Power Query choos-datakällfönstret, med en beskrivning som säger att en dataflödesentitet kan byggas ovanpå data från en annan dataflödesentitet, som redan finns kvar i lagringen.
Konceptet med den beräknade entiteten är att ha en tabell sparad i lagring och andra tabeller som kommer från den, så att du kan minska lästiden från datakällan och dela några av de vanliga omvandlingarna. Detta kan uppnås genom att hämta data från andra dataflöden via dataflödesanslutningen eller referera till en annan fråga i samma dataflöde.
Beräknad entitet: Med transformningar eller utan?
Nu när du vet att beräknade entiteter är bra för att förbättra prestanda för datatransformering är en bra fråga om transformeringen alltid ska skjutas upp till den beräknade entiteten eller om de ska tillämpas på källentiteten. Det vill säga, ska data alltid matas in i en entitet och sedan transformeras i en beräknad entitet? Vilka är för- och nackdelarna?
Läsa in data utan transformering för Text/CSV-filer
När en datakälla inte har stöd för frågedekning (till exempel text-/CSV-filer) finns det få fördelar med att tillämpa transformningar när du hämtar data från källan, särskilt om datavolymerna är stora. Källentiteten ska bara läsa in data från text-/CSV-filen utan att tillämpa några transformningar. Sedan kan beräknade entiteter hämta data från källentiteten och utföra transformeringen ovanpå indata.
Du kanske undrar vad värdet är med att skapa en källentitet som endast matar in data? En sådan entitet kan fortfarande vara användbar, eftersom om data från källan används i mer än en entitet minskar belastningen på datakällan. Dessutom kan data nu återanvändas av andra personer och dataflöden. Beräknade entiteter är särskilt användbara i scenarier där datavolymen är stor eller när en datakälla nås via en lokal datagateway, eftersom de minskar trafiken från gatewayen och belastningen på datakällorna bakom dem.
Göra några av de vanliga omvandlingarna för en SQL tabell
Om din datakälla stöder frågedekning är det bra att utföra några av omvandlingarna i källentiteten eftersom frågan kommer att viktas till datakällan och endast transformerade data hämtas från den. Detta förbättrar den övergripande prestandan. Den uppsättning transformationer som är vanliga i nedströms beräknade entiteter ska tillämpas i källentiteten, så att de kan kopplas till källan. Andra transformningar som endast gäller för underordnade entiteter bör göras i beräknade entiteter.