DSPL 檢查

DSPL 檢查是一種公用程式,可根據多項 DSPL 結構定義、內部參照的一致性,以及 CSV 檔案結構,驗證 DSPL 資料集。公用程式可以擷取許多導致 DSPL 匯入錯誤的問題,讓您在開始輸入程序之前快速偵測並修正問題。

請注意,公用程式不會檢查 DSPL 資料集是否有每個可能的問題。然而,它能擷取到最常見的問題,因此,如果這項工具成功驗證了資料集,就很有可能在「公開資料瀏覽器」中匯入此資料,並且以視覺化的方式呈現。詳情請參閱下方的檢查詳細資料一節。

執行 DSPL 檢查

基本事項

注意:這些指示假設您已採用 DSPL 工具頁面上的安裝操作說明

如要執行 DSPL 檢查,請前往系統上的終端機 / 提示,然後輸入:

python dsplcheck.py [path to dataset XML or zip file]

會將括號括號內的字詞替換為資料集 XML 檔案或已壓縮的 DSPL 組合的相對路徑。

如果資料集有效,這項工具會輸出「驗證成功」訊息。否則,系統會輸出一或多個錯誤訊息,說明驗證失敗的原因。如果後面發生,請依指示修正資料集,然後再次執行工具。

檢查層級

根據預設,DSPL 檢查會檢查整個資料集,包括主要 DSDS XML 檔案所參照的 CSV 檔案。這個流程適用於中小型資料集,但對於龐大的資料集 (即數百 MB 或更大) 而言,可能會發生資源不足或記憶體不足的情況。

為因應這些情況,這項工具提供了一個「檢查層級」選項,可讓您視需要設定檢查範圍並改善效能。如要使用,請在資料集路徑之前插入 --checking_level=[...],並將括號中的值替換為下列其中一個值:

  • schema_only:根據官方 DSPL 結構定義驗證資料集 XML 檔案,然後停止。
  • schema_and_model:執行結構定義和基本模型驗證,但在標題行之後忽略 CSV 內容。
  • full:執行結構定義、模型和資料驗證 (預設)。

正在檢查詳細資料

DSPL 檢查會依照下列順序進行驗證:

  • XML 架構驗證:確認您的資料集中繼資料檔案是有效的 XML,且符合官方 DSPL 結構定義
  • CSV 存在:檢查資料集參照的所有 CSV 檔案是否存在且可載入。
  • 概念檢查:檢查資料集中各個概念的多項檢查,包括:
    • 資料集至少有一個概念*
    • 所有主題參考資料均有效
    • 如果概念用做非時間維度,則代表資料表參照*
    • 資料表參照有效 (如有)
    • 參照表格有與概念 ID 對應的資料欄
  • Slice 檢查:資料集中的每個區塊都有不同的檢查方式,包括:
    • 資料集至少包含一個片段*
    • 至少有一個片段參照非時間維度*
    • Slice 至少有一個指標和一個維度
    • 只有一個維度參照 time 標準概念*
    • 每個區塊都有不重複的維度組合
    • 對當地概念的所有參照均有效
    • 已有資料表參照
    • 資料表參照有效
    • 參照的表格具有該片段中每個維度與指標的資料欄
    • 參照資料表中的資料欄類型與配量中使用的概念類型相符
  • 資料表檢查:資料集中每個資料表的各種檢查,包括:
    • 資料集至少有一個資料表*
    • CSV 檔案中的欄數與表格相同
    • CSV 標題字串與資料欄 ID 相符
    • 所有日期欄都有 format 屬性
    • 日期格式 (大致) 與相關時間概念一致,例如 time:year 資料欄的格式至少含有一個 y 字元*
  • CSV 資料檢查:檢查資料集 XML 檔案所參照的 CSV 資料檔案的各種檢查結果,包括:
    • 每個 CSV 資料列的標題數量都與標題相同
    • 概念定義 CSV 檔案中的每個概念 ID 都只能有一個列
    • Slice CSV 格式的每個維度組合都只能有一個資料列
    • 欄位 CSV 中參照的維度值是有效的
    • Slice CSV 的正確排序
    • 整數和浮動 CSV 值的格式正確

*

另一方面,這項工具不會檢查下列項目:

  • 資料集匯入項目
  • 屬性和屬性參考資料
  • 概念概念