Opnamefouten of beschadigde gegevens oplossen
Notitie
Op 1 september 2023 hebben we Dynamics 365 Marketing samengevoegd en een nieuwe naam gegeven: Dynamics 365 Customer Insights. Dynamics 365 Marketing heet nu Dynamics 365 Customer Insights - Journeys. Dynamics 365 Customer Insights heet nu Dynamics 365 Customer Insights - Data. Zie Veelgestelde vragen over Dynamics 365 Customer Insights voor meer informatie.
In dit artikel worden veelvoorkomende redenen voor gegevensopnamefouten of beschadigde gegevens geïntroduceerd bij het gebruik van Azure Data Lake Storage of Power Query in Microsoft Dynamics 365 Customer Insights - Gegevens.
Opnamefouten of beschadigde gegevens met Azure Data Lake Storage
Tijdens gegevensopname zijn enkele van de meest voorkomende redenen waarom een record als beschadigd kan worden beschouwd:
- De gegevenstypen en veldwaarden komen niet overeen tussen het bronbestand en het schema.
- Het aantal kolommen in het bronbestand komt niet overeen met het schema.
- Velden bevatten tekens waardoor de kolommen niet overeenkomen met het verwachte schema. Bijvoorbeeld verkeerd opgemaakte aanhalingstekens, niet-gescapede aanhalingstekens, newlinetekens of tabtekens.
- Partitiebestanden ontbreken.
datetime
datetimeoffset
ofdate
velden voldoen niet aan de standaardindeling.
Schema of gegevenstype komt niet overeen
Als de gegevens niet in overeenstemming zijn met het schema, wordt het opnameproces voltooid met fouten.
U kunt dit probleem oplossen door de brongegevens of het schema te corrigeren en de gegevens opnieuw op te nemen.
Partitiebestanden ontbreken
Als het opnameproces is geslaagd zonder beschadigde records, maar u geen gegevens kunt zien, bewerkt u uw model.json of manifest.json bestand om ervoor te zorgen dat partities zijn opgegeven. Vervolgens vernieuwt u de gegevensbron.
Als gegevensopname op hetzelfde moment plaatsvindt als gegevensbronnen worden vernieuwd tijdens een automatische vernieuwing van het schema, zijn de partitiebestanden mogelijk leeg of niet beschikbaar voor het systeemproces. U kunt afstemmen op het upstream-vernieuwingsschema door het schema voor systeemvernieuwing of het vernieuwingsschema voor de gegevensbron te wijzigen. Lijn de timing zo uit dat vernieuwingen niet allemaal tegelijk plaatsvinden.
Datum/tijd-velden hebben de verkeerde indeling
De datetime
velden in de tabel hebben geen ISO 8601 of en-US
indeling. De standaardindeling datetime
in Dynamics 365 Customer Insights - Data is en-US
. datetime
Alle velden in een tabel moeten dezelfde indeling hebben. Customer Insights biedt ondersteuning voor andere indelingen die aantekeningen of eigenschappen bevatten op bron- of tabelniveau in het model of manifest.json. Bijvoorbeeld:
Model.json
"annotations": [
{
"name": "ci:CustomTimestampFormat",
"value": "yyyy-MM-dd'T'HH:mm:ss:SSS"
},
{
"name": "ci:CustomDateFormat",
"value": "yyyy-MM-dd"
}
]
In een manifest.json-bestand kan de datetime
indeling worden opgegeven op tabelniveau of kenmerkniveau. Gebruik "exhibitsTraits"
op tabelniveau in de tabel in *.manifest.cdm.json om de datetime
notatie te definiëren. Gebruik op kenmerkniveau "appliedTraits"
in het kenmerk in tablename.cdm.json.
Manifest.json op tabelniveau
"exhibitsTraits": [
{
"traitReference": "is.formatted.dateTime",
"arguments": [
{
"name": "format",
"value": "yyyy-MM-dd'T'HH:mm:ss"
}
]
},
{
"traitReference": "is.formatted.date",
"arguments": [
{
"name": "format",
"value": "yyyy-MM-dd"
}
]
}
]
table.json op kenmerkniveau
{
"name": "PurchasedOn",
"appliedTraits": [
{
"traitReference": "is.formatted.date",
"arguments" : [
{
"name": "format",
"value": "yyyy-MM-dd"
}
]
},
{
"traitReference": "is.formatted.dateTime",
"arguments" : [
{
"name": "format",
"value": "yyyy-MM-ddTHH:mm:ss"
}
]
}
],
"attributeContext": "POSPurchases/attributeContext/POSPurchases/PurchasedOn",
"dataFormat": "DateTime"
}
Opnamefouten of beschadigde gegevens met Power Query
Datum/tijd-waarden worden onjuist geparseerd of er treedt een parseringsfout op
De meest voorkomende mismatch van het gegevenstype doet zich voor wanneer een datumveld niet is ingesteld op de juiste datumnotatie. Deze overeenkomst kan worden veroorzaakt door de onjuist opgemaakte brongegevens of een onjuiste landinstelling.
Symptomen van het onjuiste landinstellingsprobleem:
Wanneer de brongegevens niet kunnen worden geparseerd door de landinstelling die wordt gebruikt, treedt er een opnamefout op. Als '29/08/2023' bijvoorbeeld wordt geparseerd met 'MM/DD/JJJJ', mislukt de opname omdat deze maand 29 niet kan parseren.
Wanneer de brongegevens worden geparseerd met een onjuiste landinstelling, zijn de datum/tijd-waarden onjuist. De brongegevens zijn bijvoorbeeld opgemaakt als 'MM/DD/JJJJ', terwijl de standaardinstelling die wordt gebruikt om de gegevens tijdens opname te parseren, gebruikmaakt van DD/MM/JJJJ. Als gevolg hiervan wordt '8 december 2023' opgenomen als '12 augustus 2023'.
Oplossing
Als u een onjuiste indeling wilt herstellen, werkt u de brongegevens bij en neemt u deze opnieuw op.
Als u een onjuiste landinstelling wilt herstellen, wijzigt u het type van alle datum/tijd-velden om de juiste landinstelling te gebruiken met het type>Wijziging met behulp van landinstellingen in de Power Query-transformaties. Bijvoorbeeld:
Zie Document- of projectinstellingen voor meer informatie.