수집 오류 또는 손상된 데이터 문제 해결

참고

2023년 9월 1일에 Dynamics 365 Marketing and Dynamics 365 Customer Insights를 병합하고 이름을 변경했습니다. Dynamics 365 Marketing을 Dynamics 365 Customer Insights - Journeys라고 합니다. Dynamics 365 Customer Insights를 이제 Dynamics 365 Customer Insights - Data라고 합니다. 자세한 내용은 Dynamics 365 Customer Insights FAQ를 참조하세요.

이 문서에서는 Microsoft Dynamics 365 Customer Insights - Data에서 Azure Data Lake Storage 또는 파워 쿼리를 사용할 때 데이터 수집 오류 또는 손상된 데이터에 대한 일반적인 이유를 소개합니다.

Azure Data Lake Storage를 사용하여 수집 오류 또는 손상된 데이터

데이터 수집 중에 레코드가 손상된 것으로 간주될 수 있는 가장 일반적인 이유 중 일부는 다음과 같습니다.

스키마 또는 데이터 형식 불일치

데이터가 스키마를 준수하지 않으면 수집 프로세스가 오류와 함께 완료됩니다.

이 문제를 해결하려면 원본 데이터 또는 스키마를 수정하고 데이터를 다시 수집합니다.

파티션 파일이 없습니다.

  • 손상된 레코드 없이 수집 프로세스가 성공했지만 데이터를 볼 수 없는 경우 model.json 또는 manifest.json 파일을 편집하여 파티션이 지정되었는지 확인합니다. 그런 다음 데이터 원본을 새로 고칩니다.

  • 자동 일정 새로 고침 중에 데이터 원본을 새로 고치는 것과 동시에 데이터 수집이 발생하는 경우 파티션 파일이 비어 있거나 시스템 프로세스에 사용할 수 없을 수 있습니다. 업스트림 새로 고침 일정에 맞게 시스템 새로 고침 일정 또는 데이터 원본에 대한 새로 고침 일정을 변경합니다. 새로 고침이 한 번에 모두 발생하지 않도록 타이밍을 맞춥니다.

날짜/시간 필드가 잘못된 형식입니다.

datetime 테이블의 필드는 ISO 8601 또는 en-US 형식이 아닙니다. Dynamics 365 Customer Insights - Data의 기본 datetime 형식은 입니다 en-US. 테이블의 datetime 모든 필드는 동일한 형식이어야 합니다. Customer Insights는 모델 또는 manifest.json 원본 또는 테이블 수준에서 주석 또는 특성이 만들어지는 다른 형식을 지원합니다. 예:

Model.json

  "annotations": [
    {
      "name": "ci:CustomTimestampFormat",
      "value": "yyyy-MM-dd'T'HH:mm:ss:SSS"
    },
    {
      "name": "ci:CustomDateFormat",
      "value": "yyyy-MM-dd"
    }
  ]   

manifest.json 파일에서 형식은 datetime 테이블 수준 또는 특성 수준에서 지정할 수 있습니다. 테이블 수준에서 *.manifest.cdm.json 테이블에서 를 사용하여 "exhibitsTraits" 형식을 정의합니다datetime. 특성 수준에서 tablename.cdm.json 특성에 를 사용합니다"appliedTraits".

테이블 수준에서 Manifest.json

"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

   {
      "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"
    }

파워 쿼리를 사용하여 수집 오류 또는 손상된 데이터

날짜/시간 값이 잘못 구문 분석되거나 구문 분석 실패가 발생합니다.

가장 일반적인 데이터 형식 불일치는 날짜 필드가 올바른 날짜 형식으로 설정되지 않은 경우에 발생합니다. 이 불일치는 잘못된 형식의 원본 데이터 또는 잘못된 로캘로 인해 발생할 수 있습니다.

잘못된 로캘 문제의 증상:

  • 사용된 로캘로 원본 데이터를 구문 분석할 수 없는 경우 수집 오류가 발생합니다. 예를 들어 "2023년 29월 08일"이 "MM/DD/YYYY"로 구문 분석되는 경우 29개월을 구문 분석할 수 없으므로 수집이 실패합니다.

  • 잘못된 로캘을 사용하여 원본 데이터를 성공적으로 구문 분석하면 datetime 값이 올바르지 않습니다. 예를 들어 원본 데이터의 형식은 "MM/DD/YYYY"로 지정되고, 수집 중에 데이터를 구문 분석하는 데 사용되는 기본 로캘은 "DD/MM/YYYYY"를 사용합니다. 따라서 "2023년 12월 8일"은 "2023년 8월 12일"로 수집됩니다.

    수집 후 날짜/시간 형식이 올바르지 않음을 보여 주는 스크린샷

해결 방법

  • 잘못된 형식을 수정하려면 원본 데이터를 업데이트하고 다시 수집합니다.

  • 잘못된 로캘을 수정하려면 파워 쿼리 변환에서 로캘을사용하여변경 형식을 사용하여 올바른 로캘을 사용하도록 모든 datetime 필드의 형식 > 을 변경합니다. 예:

    파워 쿼리에서 로캘을 사용하여 데이터 형식을 변경하는 방법을 보여 주는 스크린샷

    자세한 내용은 문서 또는 프로젝트 로캘을 참조하세요.

추가 정보