共用方式為


針對擷取錯誤或損毀的數據進行疑難解答

注意

我們已於 2023 年 9 月 1 日合併並重新命名 Dynamics 365 Marketing 和 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 常見問題

本文介紹在 Microsoft Dynamics 365 Customer Insights - Data 中使用 Azure Data Lake Storage 或 Power Query 時,數據擷取錯誤或損毀數據的常見原因。

使用 Azure Data Lake Storage 擷取錯誤或損毀數據

在資料擷取期間,記錄可能會被視為已損毀的一些最常見原因包括:

結構描述或資料類型不相符

如果資料不符合結構描述,擷取過程會完成但帶有錯誤。

若要解決此問題,請更正源數據或架構,然後重新內嵌數據。

遺失分區檔案

  • 如果擷取程式成功且沒有任何損毀的記錄,但您無法看到任何數據,請編輯 您的model.jsonmanifest.json 檔案,以確定已指定分割區。 然後,重新整理資料來源

  • 如果在自動排程重新整理期間重新整理數據源時發生數據擷取,分割區檔案可能是空的,或無法供系統進程使用。 若要讓上游重新整理排程,請變更系統重新整理排程或資料來源的重新整理排程。 調整計時,讓重新整理不會同時發生。

日期時間欄位的格式錯誤

datetime數據表中的欄位不是 ISO 8601 或en-US格式。 Dynamics 365 Customer Insights - 數據中的預設 datetime 格式為 en-USdatetime數據表中的所有欄位都應該使用相同的格式。 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可以在數據表層級或屬性層級指定格式。 在數據表層級,使用 "exhibitsTraits" *.manifest.cdm.json 中的數據表來定義 datetime 格式。 在屬性層級,在 "appliedTraits" 屬性中使用 tablename.cdm.json

資料表層級的 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"
    }

使用 Power Query 擷取錯誤或損毀數據

日期時間值剖析不正確或發生剖析失敗

最常見的資料類型不符發生在日期欄位未設定為正確的日期格式時。 這種不相符的原因可能是格式不正確的源數據或不正確的 地區設定所造成。

不正確地區設定問題的徵兆:

  • 當使用的地區設定無法剖析源數據時,就會發生擷取失敗。 例如,如果 「29/08/2023」 剖析為 「MM/DD/YYYY」,則擷取會失敗,因為它無法剖析 29 個月。

  • 使用不正確的地區設定成功剖析源數據時,日期時間值不正確。 例如,源數據會格式化為 「MM/DD/YYYY」,而在擷取期間用來剖析數據的預設地區設定會使用 「DD/MM/YYYY」。。因此,“2023 年 12 月 8 日” 被擷取為 “2023 年 8 月 12 日”。

    螢幕快照顯示擷取後日期時間格式不正確。

解決方法

  • 若要修正不正確的格式,請更新源數據並重新內嵌。

  • 若要修正不正確的地區設定,請變更所有日期時間欄位的類型,以在 Power Query 轉換中使用變更類型>使用地區設定的正確地區設定。 例如:

    顯示如何在Power Query 中使用地區設定變更數據類型的螢幕快照。

    如需詳細資訊,請參閱 檔或專案地區設定

其他相關資訊