Delen via


Overwegingen voor veldtoewijzing voor standaardgegevensstromen

Wanneer u gegevens in Dataverse-tabellen laadt, wijst u de kolommen van de bronquery in de bewerkingservaring van de gegevensstroom toe aan de doelkolommen van de Dataverse-tabel. Naast het toewijzen van gegevens zijn er andere overwegingen en best practices waarmee u rekening moet houden. In dit artikel behandelen we de verschillende instellingen voor gegevensstromen die het gedrag van het vernieuwen van gegevensstromen bepalen en als gevolg hiervan de gegevens in de doeltabel.

Bepalen of gegevensstromen elke vernieuwing maken of upsert

Telkens wanneer u een gegevensstroom vernieuwt, worden records opgehaald uit de bron en geladen in Dataverse. Als u de gegevensstroom meer dan één keer uitvoert, afhankelijk van hoe u de gegevensstroom configureert, kunt u het volgende doen:

  • Maak nieuwe records voor elke gegevensstroomvernieuwing, zelfs als dergelijke records al bestaan in de doeltabel.
  • Maak nieuwe records als deze nog niet bestaan in de tabel of werk bestaande records bij als ze al in de tabel bestaan. Dit gedrag wordt upsert genoemd.

Het gebruik van een sleutelkolom geeft aan dat de gegevensstroom records naar de doeltabel kan upsert, terwijl het niet selecteren van een sleutel aangeeft aan de gegevensstroom om nieuwe records in de doeltabel te maken.

Een sleutelkolom is een kolom die uniek en deterministisch is voor een gegevensrij in de tabel. Als de order-id bijvoorbeeld een sleutelkolom is in een tabel Orders, moet u niet twee rijen met dezelfde order-id hebben. Ook moet één order-id, bijvoorbeeld een order met de id 345, slechts één rij in de tabel vertegenwoordigen. Als u de sleutelkolom voor de tabel in Dataverse wilt kiezen uit de gegevensstroom, moet u het sleutelveld instellen in de ervaring Kaarttabellen.

Een primaire naam en sleutelveld kiezen bij het maken van een nieuwe tabel

In de volgende afbeelding ziet u hoe u de sleutelkolom kunt kiezen die moet worden ingevuld vanuit de bron wanneer u een nieuwe tabel in de gegevensstroom maakt.

De primaire sleutel en de alternatieve sleutel zijn hetzelfde.

Het primaire naamveld dat u in de veldtoewijzing ziet, is voor een labelveld; dit veld hoeft niet uniek te zijn. Het veld dat in de tabel wordt gebruikt voor het controleren van duplicatie is het veld dat u in het veld Alternatieve sleutel hebt ingesteld.

Als u een primaire sleutel in de tabel hebt, zorgt u ervoor dat, zelfs als u dubbele gegevens in het veld hebt dat is toegewezen aan de primaire sleutel, de dubbele vermeldingen niet in de tabel worden geladen. Dit gedrag behoudt een hoge kwaliteit van de gegevens in de tabel. Gegevens van hoge kwaliteit zijn essentieel voor het bouwen van rapportageoplossingen op basis van de tabel.

Het primaire naamveld

Het primaire naamveld is een weergaveveld dat wordt gebruikt in Dataverse. Dit veld wordt gebruikt in standaardweergaven om de inhoud van de tabel in andere toepassingen weer te geven. Dit veld is niet het primaire-sleutelveld en mag niet als dat worden beschouwd. Dit veld kan dubbele waarden bevatten, omdat het een weergaveveld is. De best practice is echter om een samengevoegd veld te gebruiken om toe te wijzen aan het primaire naamveld, dus de naam is volledig verklarend.

Het alternatieve sleutelveld wordt gebruikt als de primaire sleutel.

Een sleutelveld kiezen bij het laden van een bestaande tabel

Bij het toewijzen van een gegevensstroomquery aan een bestaande Dataverse-tabel, kunt u kiezen of en welke sleutel moet worden gebruikt bij het laden van gegevens in de doeltabel.

In de volgende afbeelding ziet u hoe u de sleutelkolom kunt kiezen die moet worden gebruikt bij het verplaatsen van records naar een bestaande Dataverse-tabel:

Een sleutel selecteren om gegevens in Dataverse-tabellen te upsert.

De kolom Unieke id van een tabel instellen en deze gebruiken als een sleutelveld voor het upsert van records in bestaande Dataverse-tabellen

Alle Microsoft Dataverse-tabelrijen hebben unieke id's gedefinieerd als GUID's. Deze GUID's zijn de primaire sleutel voor elke tabel. De primaire sleutel van een tabel kan standaard niet worden ingesteld door gegevensstromen en wordt automatisch gegenereerd door Dataverse wanneer een record wordt gemaakt. Er zijn geavanceerde gebruiksscenario's waarbij het gebruik van de primaire sleutel van een tabel wenselijk is, bijvoorbeeld het integreren van gegevens met externe bronnen, terwijl dezelfde primaire-sleutelwaarden in zowel de externe tabel als de Dataverse-tabel behouden blijven.

Notitie

  • Deze mogelijkheid is alleen beschikbaar bij het laden van gegevens naar bestaande tabellen.
  • Het unieke id-veld accepteert alleen een tekenreeks met GUID-waarden, elk ander gegevenstype of elke andere waarde zorgt ervoor dat het maken van records mislukt.

Als u wilt profiteren van het unieke id-veld van een tabel, selecteert u Laden naar bestaande tabel op de pagina Kaarttabellen tijdens het ontwerpen van een gegevensstroom. In het voorbeeld in de volgende afbeelding worden gegevens in de tabel CustomerTransactions geladen en wordt de kolom TransactionID uit de gegevensbron gebruikt als de unieke id van de tabel.

U ziet dat in de vervolgkeuzelijst Sleutel selecteren de unieke id , die altijd de naam 'tablename + id' heeft, van de tabel kan worden geselecteerd. Omdat de tabelnaam CustomerTransactions is, heet het unieke id-veld 'CustomerTransactionId'.

Selecteer de primaire sleutel om gegevens in Dataverse-tabellen te upsert.

Zodra de kolomtoewijzing is geselecteerd, wordt de sectie kolomtoewijzing bijgewerkt om de unieke id als doelkolom op te nemen. Vervolgens kunt u de bronkolom toewijzen die de unieke id voor elke record vertegenwoordigt.

Toewijzingsgegevens aan de kolom Unieke id.

Wat zijn goede kandidaten voor het sleutelveld?

Het sleutelveld is een unieke waarde die een unieke rij in de tabel vertegenwoordigt. Het is belangrijk dat u dit veld hebt, omdat u hiermee dubbele records in de tabel kunt voorkomen. Dit veld kan afkomstig zijn uit drie bronnen:

  • De primaire sleutel in het bronsysteem (zoals OrderID in het vorige voorbeeld). samengevoegd veld dat is gemaakt via Power Query-transformaties in de gegevensstroom.

    Kolommen samenvoegen om een samengevoegde unieke kolom te maken.

  • Een combinatie van velden die moeten worden geselecteerd in de optie Alternatieve toets . Een combinatie van velden die als sleutelveld worden gebruikt, wordt ook wel een samengestelde sleutel genoemd.

    Een samengestelde sleutel maken via veldtoewijzing.

Rijen verwijderen die niet meer bestaan

Als u de gegevens in de tabel altijd wilt laten synchroniseren met de gegevens uit het bronsysteem, kiest u de optie Rijen verwijderen die niet meer voorkomen in de queryuitvoer. Deze optie vertraagt echter de gegevensstroom omdat er behoefte is aan een rijvergelijking op basis van de primaire sleutel (alternatieve sleutel in de veldtoewijzing van de gegevensstroom) om deze actie uit te voeren.

De optie betekent dat als er een gegevensrij in de tabel staat die niet bestaat in de queryuitvoer van de volgende gegevensstroomvernieuwing, die rij uit de tabel wordt verwijderd.

Verwijder rijen die niet meer bestaan.

Notitie

Standaard V2-gegevensstromen zijn afhankelijk van de createdon velden en modifiedon velden om rijen te verwijderen die niet bestaan in de uitvoer van de gegevensstromen, uit de doeltabel. Als deze kolommen niet bestaan in de doeltabel, worden records niet verwijderd.

Bekende beperkingen

  • Toewijzing aan polymorfe opzoekvelden wordt momenteel niet ondersteund.
  • Toewijzing aan een opzoekveld met meerdere niveaus, een zoekactie die verwijst naar het opzoekveld van een andere tabel, wordt momenteel niet ondersteund.
  • Toewijzing aan de velden Status en Reden van status wordt momenteel niet ondersteund.
  • Toewijzingsgegevens in tekst met meerdere regels die regeleindetekens bevatten, worden niet ondersteund en de regeleinden worden verwijderd. In plaats daarvan kunt u de tag <br> voor regeleinde gebruiken om tekst met meerdere regels te laden en te behouden.
  • Toewijzing aan keuzevelden die zijn geconfigureerd met de optie voor meervoudige selectie is ingeschakeld, wordt alleen ondersteund onder bepaalde voorwaarden. De gegevensstroom laadt alleen gegevens in keuzevelden waarvoor de optie voor meervoudige selectie is ingeschakeld en er wordt een door komma's gescheiden lijst met waarden (gehele getallen) van de labels gebruikt. Als de labels bijvoorbeeld 'Keuze1, Keuze2, Keuze3' zijn met overeenkomende gehele getallen van '1, 2, 3', moeten de kolomwaarden '1,3' zijn om de eerste en laatste keuze te selecteren.
  • Standaard V2-gegevensstromen zijn afhankelijk van de createdon velden en modifiedon velden om rijen te verwijderen die niet bestaan in de uitvoer van de gegevensstromen, uit de doeltabel. Als deze kolommen niet bestaan in de doeltabel, worden records niet verwijderd.
  • Toewijzing aan velden waarvan de eigenschap IsValidForCreate is ingesteld false op niet-ondersteund (bijvoorbeeld het veld Account van de entiteit Contactpersoon).