Del via


Overvejelser i forbindelse med felttilknytning i forbindelse med standarddataflow

Når du indlæser data i Dataverse-tabeller, knytter du kildeforespørgslens kolonner i dataflowets redigeringsoplevelse til kolonnerne i dataverse-destinationstabellen. Ud over tilknytning af data er der andre overvejelser og bedste praksis, der skal tages højde for. I denne artikel gennemgår vi de forskellige indstillinger for dataflow, der styrer funktionsmåden for opdatering af dataflow og som et resultat heraf dataene i destinationstabellen.

Styring af, om dataflow opretter eller opdaterer poster for hver opdatering

Hver gang du opdaterer et dataflow, henter det poster fra kilden og indlæser dem i Dataverse. Hvis du kører dataflowet mere end én gang – afhængigt af hvordan du konfigurerer dataflowet – kan du:

  • Opret nye poster for hver opdatering af dataflowet, også selvom disse poster allerede findes i destinationstabellen.
  • Opret nye poster, hvis de ikke allerede findes i tabellen, eller opdater eksisterende poster, hvis de allerede findes i tabellen. Denne funktionsmåde kaldes upsert.

Hvis du bruger en nøglekolonne, angiver det for dataflowet, at poster skal indsættes i destinationstabellen, uden at der vælges en nøgle, betyder det for dataflowet, at der skal oprettes nye poster i destinationstabellen.

En nøglekolonne er en kolonne, der er entydig og deterministisk for en datarække i tabellen. Hvis ordre-id'et f.eks. er en nøglekolonne i tabellen Orders, skal du ikke have to rækker med det samme Ordre-id. Et ordre-id – lad os sige en ordre med id'et 345 – bør også kun repræsentere én række i tabellen. Hvis du vil vælge nøglekolonnen til tabellen i Dataverse fra dataflowet, skal du angive nøglefeltet i oplevelsen Tilknyt tabeller.

Vælg et primært navn og et primært nøglefelt, når du opretter en ny tabel

På følgende billede kan du se, hvordan du kan vælge den nøglekolonne, der skal udfyldes fra kilden, når du opretter en ny tabel i dataflowet.

Primær nøgle og den alternative nøgle er de samme.

Det primære navnefelt, du kan se i felttilknytningen, er for et navnefelt. Dette felt behøver ikke at være entydigt. Det felt, der bruges i tabellen til kontrol af duplikering, er det felt, du angiver i feltet Alternativ nøgle .

Hvis du har en primær nøgle i tabellen, sikrer duplikerede data i det felt, der er knyttet til den primære nøgle, at de dublerede poster ikke indlæses i tabellen. Denne funktionsmåde bevarer en høj kvalitet af dataene i tabellen. Data af høj kvalitet er afgørende for at skabe rapporteringsløsninger, der er baseret på tabellen.

Det primære navnefelt

Det primære navnefelt er et visningsfelt, der bruges i Dataverse. Dette felt bruges i standardvisninger til at vise indholdet af tabellen i andre programmer. Dette felt er ikke det primære nøglefelt, og det bør ikke betragtes som det. Dette felt kan have dublerede værdier, fordi det er et visningsfelt. Den bedste praksis er dog at bruge et sammenkædet felt til at knytte til det primære navnefelt, så navnet er fuldt forklarende.

Det alternative nøglefelt er det, der bruges som den primære nøgle.

Valg af et nøglefelt, når der indlæses i en eksisterende tabel

Når du knytter en dataflowforespørgsel til en eksisterende Dataverse-tabel, kan du vælge, om og hvilken nøgle der skal bruges, når du indlæser data i destinationstabellen.

På følgende billede kan du se, hvordan du kan vælge den nøglekolonne, der skal bruges, når du indsætter poster i en eksisterende Dataverse-tabel:

Vælg en nøgle til at konvertere data til Dataverse-tabeller.

Angivelse af kolonnen Entydigt id for en tabel og brug den som et nøglefelt til at indsætte poster i eksisterende Dataverse-tabeller

Alle Microsoft Dataverse-tabelrækker har entydige id'er defineret som GUID'er. Disse GUID'er er den primære nøgle for hver tabel. En tabels primære nøgle kan som standard ikke angives af dataflow og genereres automatisk af Dataverse, når der oprettes en post. Der er avancerede use cases, hvor det er ønskeligt at udnytte den primære nøgle i en tabel, f.eks. integration af data med eksterne kilder, samtidig med at de samme primære nøgleværdier bevares i både den eksterne tabel og Dataverse-tabellen.

Bemærk

  • Denne funktion er kun tilgængelig, når der indlæses data i eksisterende tabeller.
  • Det entydige id-felt accepterer kun en streng, der indeholder GUID-værdier. Alle andre datatyper eller værdier medfører, at oprettelsen af posten mislykkes.

Hvis du vil drage fordel af en tabels entydige id-felt, skal du vælge Indlæs i eksisterende tabelsiden Tilknyt tabeller , mens du opretter et dataflow. I det eksempel, der vises på det efterfølgende billede, indlæses data i tabellen CustomerTransactions, og kolonnen TransactionID bruges fra datakilden som det entydige id for tabellen.

Bemærk, at tabellens entydige id , som altid har navnet "tablename + id", på rullelisten Vælg nøgle kan vælges. Da tabelnavnet er "CustomerTransactions", hedder det entydige id-felt "CustomerTransactionId".

Vælg den primære nøgle for at konvertere data til Dataverse-tabeller.

Når den er valgt, opdateres sektionen til kolonnetilknytning, så den indeholder det entydige id som en destinationskolonne. Du kan derefter tilknytte den kildekolonne, der repræsenterer det entydige id for hver post.

Tilknytning af data til kolonnen Entydigt id.

Hvad er gode kandidater til nøglefeltet

Nøglefeltet er en entydig værdi, der repræsenterer en entydig række i tabellen. Det er vigtigt at have dette felt, fordi det hjælper dig med at undgå at have dublerede poster i tabellen. Dette felt kan komme fra tre kilder:

  • Den primære nøgle i kildesystemet (f.eks. OrderID i det foregående eksempel). sammenkædet felt, der er oprettet via Power Query-transformationer i dataflowet.

    Fletter kolonner for at oprette en sammenkædet entydig kolonne.

  • En kombination af felter, der skal vælges i indstillingen Alternativ nøgle . En kombination af felter, der bruges som et nøglefelt, kaldes også en sammensat nøgle.

    Oprettelse af en sammensat nøgle via felttilknytning.

Fjern rækker, der ikke længere findes

Hvis dataene i tabellen altid skal synkroniseres med dataene fra kildesystemet, skal du vælge indstillingen Slet rækker, der ikke længere findes i forespørgselsoutputtet. Denne indstilling sinker dog dataflowet, fordi der er behov for en rækkesammenligning baseret på den primære nøgle (alternativ nøgle i felttilknytningen af dataflowet), for at denne handling kan finde sted.

Indstillingen betyder, at hvis der er en datarække i tabellen, der ikke findes i forespørgselsoutputtet for den næste dataflowopdatering, fjernes denne række fra tabellen.

Slet rækker, der ikke længere findes.

Bemærk

Standard V2-dataflow er afhængige af createdon felterne og modifiedon for at fjerne rækker, der ikke findes i dataflowoutputtet, fra destinationstabellen. Hvis disse kolonner ikke findes i destinationstabellen, slettes poster ikke.

Kendte begrænsninger

  • Tilknytning til polymorfe opslagsfelter understøttes ikke i øjeblikket.
  • Tilknytning til et opslagsfelt på flere niveauer, et opslag, der peger på en anden tabels opslagsfelt, understøttes ikke i øjeblikket.
  • Tilknytning til felterne Status og Statusårsagunderstøttes ikke i øjeblikket.
  • Tilknytning af data til tekst med flere linjer, der indeholder linjeskiftstegn, understøttes ikke, og linjeskift fjernes. Du kan i stedet bruge linjeskiftsmærket <br> til at indlæse og bevare tekst med flere linjer.
  • Tilknytning til valgfelter , der er konfigureret med indstillingen flere valg aktiveret, understøttes kun under visse betingelser. Dataflowet indlæser kun data til valgfelter , hvor indstillingen med flere markeringer er aktiveret, og der bruges en kommasepareret liste over værdier (heltal) af mærkaterne. Hvis etiketterne f.eks. er "Choice1, Choice2, Choice3" med tilsvarende heltalsværdier på "1, 2, 3", skal kolonneværdierne være "1,3" for at vælge det første og sidste valg.
  • Standard V2-dataflow er afhængige af createdon felterne og modifiedon for at fjerne rækker, der ikke findes i dataflowoutputtet, fra destinationstabellen. Hvis disse kolonner ikke findes i destinationstabellen, slettes poster ikke.
  • Tilknytning til felter, hvis egenskab IsValidForCreate er angivet til false , understøttes ikke (f.eks. feltet Konto i objektet Kontakt).