DSPL 常見問題

本文件說明資料擁有者在建立 DSPL 資料集並上傳至 Public Data Explorer 時最常遇到的問題。

目錄

一般問題

什麼是 DSPL?

DSPL 代表資料集發布語言,它是以資料集的中繼資料 (相關資訊,如資料集名稱和提供者,以及包含和顯示的概念) 和資料集的實際「資料」表示法格式。中繼資料是以 XML 指定,而資料是以 CSV 格式提供。

使用 DSPL 的主要優點為何?

DSPL 專為類似豐富的資料視覺化設計而設計,例如公開資料瀏覽器中的圖表。製作這類內容時,需要如切片、維度及指標等詳細的中繼資料,而其他資料集格式也不支援實體。

DSPL 也支援資料集匯入、概念階層 (例如「國家/地區」是「大陸」的子項、地理編碼資料的子項,以及其他許多獨特功能,可以提升資料探索體驗。

DSPL 可以取代其他用於資料交換和/或分析的格式嗎?

一般不會。如上一題所述,DSPL 是專為互動式視覺化及探索而設計。而非通用的資料交換或分析格式。

最終,我們將 DSPL 視為與其他格式互補。使用者應該要能從其他來源建立 DSPL 資料集,以便建立豐富的互動式資料視覺化內容。

我可以如何運用 DSPL 資料集?

您可以將其匯入 Public Data Explorer、發布,並讓其他人透過豐富的互動式視覺化功能探索資料。也可以將已發布的資料集納入公開資料目錄,讓感興趣的使用者輕鬆找到。

目前這是唯一使用 DSPL 的應用程式。不過,我們鼓勵使用者將這個帳戶用於其他應用程式,而且預計採用率會逐漸增加。

什麼類型的資料集最適合 DSPL?

DSPL 格式支援任意的資料表集合,因此適用於各種類型的資料集。不過,只有一部分 DSPL 資料集會在「公開資料瀏覽器」中產生有趣的圖表。後者尤其適合具有以下特性的資料:

  • 定量:每個資料點都有一或多個相關聯的數值指標 (例如「人口」、「流感病例數量」、「收益」)。
  • 類別:資料可整理成數量有限的文字描述類別 (例如「國家/地區」、「性別」、「年齡層」)。
  • 時間序列:針對每個類別,資料指標會因時間而異,且相鄰點至少相隔一天 (Public Data Explorer 無法以視覺化的方式呈現時間增量小於一天)。
  • 匯總:每個時間 / 類別 / 指標組合都有「單一」資料點,而非事件或資訊清單。

我建立了一個 DSPL 資料集,並希望將其顯示在 Google 公開資料目錄中,方便他人搜尋。該與誰聯絡?

請填寫 這份表單,並提供資料集的連結。

我無法使用 DSPL。哪裡可以取得協助?

請前往 DSPL 論壇發文提問。

DSPL 資料集檔案

該如何編碼 XML 和 CSV 檔案?

所有 XML 和 CSV 檔案都需採用 UTF-8 編碼。請注意,ASCII (有時稱為「純文字」) 是 UTF-8 的子集,因此該格式的資料集也應該能順利運作。

建立和編輯資料集檔案時,應使用何種軟體?

建議您使用純文字編輯器 (具備可閱讀的語法醒目顯示) 編輯 XML 檔案。如需平台特定建議,請參閱這篇文章。建議您不要使用完整功能、一般用途的文書處理程式,因為這類程式通常會在 XML 中插入其他格式標記,可能會造成匯入錯誤。

使用試算表通常是建立及編輯資料檔案最簡單的方法。請務必以正確格式 (CSV/逗號分隔值) 儲存這些資料。

我在 Excel、SPSS、SAS 或其他系統中有資料。我可以將這些表格直接匯入「公開資料瀏覽器」嗎?

不,目前不可以。首先,您必須將資料匯出為 CSV 格式、新增適當的 XML 中繼資料,然後將符合 DSPL 規定的資料集上傳至 Public Data Explorer。

我的檔案會怎麼命名?

資料集 XML 檔案的名稱結尾應為 .xml。相關聯的 CSV 資料檔案可以擁有任何名稱,但前提是須與 XML 中繼資料中 <file> 標記提供的名稱相符。將資料集封裝和匯入至 Public Data Explorer 的 ZIP 檔案也可以任意名稱。

應該排序我的 CSV 檔案嗎?

是,您應按照非時間維度 (按任何順序或方向) 排序 CSV 檔案的內容,再依選擇使用任何其他欄 (例如時間) 來排序。

舉例來說,如果您的 CSV 檔案含有 datedimension1dimension2metric1metric2 資料欄,則應按照 dimension1dimension2 排序 (任何順序)。如果您也想按照日期/時間欄排序,這應該就是您最後的排序依據。

以這種方式排序,可將每個時間序列的觀察結果分組,大幅改善 DSPL 匯入程序的效率。

XML 模型與語法

如何決定指標和維度?

維度是用來區隔或篩選資料的實體。另一方面,指標則說明觀察到的值或與各個資料點相關聯的值。

一般來說,維度是類別型,但指標並非類別、時間變動且數值。每種原型的範例如下:

  • 維度:國家/地區、州/省、縣/市、地區、年、月、性別、年齡層、產業區隔
  • 指標:人口、GDP、失業率、讀寫能力、收益、成本、價格

屬性和屬性有何不同?

屬性會附加至概念的每個例項。舉例來說,單一洲別屬性在不同國家/地區會有不同的值。另一方面,屬性則與整個概念相關聯。例如:所有洲別的 isParent 屬性皆為 true。

標記的順序是否有所影響?

是,按照開發人員指南中的順序新增代碼。例如,在概念的定義中,<topic> 應放在 <type> 之前。

大小寫有影響嗎?

可以,您的 XML 標記和屬性名稱的大寫格式必須與《開發人員指南》中的格式相同。例如,在 property 標記中使用 isparent 而非 isParent,就會導致匯入錯誤。

一個概念可以有兩個父母嗎?

不行,每個概念只能有一個 isParent 參照。

概念本身可以提及嗎?

是,如需自參照概念階層的範例,請參閱美國零售銷售資料集

資料格式設定

如何設定日期格式?

日期可以是任何採用 Joda 日期時間標準的格式。Joda 格式程式碼應儲存在對應表格欄元素內的 format 屬性中。

以下是一些熱門日期格式的 Joda 格式碼:

日期範例 Joda 格式
2010 yyyy
2010 年 5 月 MMM yyyy
2010 年 5 月 21 日 MM/dd/yyyy
2010 年 5 月 21 日 dd/MM/yyyy
2010-05-21 yyyy-MM-dd

請特別注意,月份字元的 Joda 代碼是 M,而非 m (代表分鐘數)。

可以使用少於一天的時間單位嗎?

Joda DateTime 格式,因此也因此 DSPL 也支援以毫秒為單位的時間值。不過,Public Data Explorer 無法 (目前) 以視覺化方式呈現任何小於一天的時間精細程度。

使用標準概念

什麼是「標準概念」?這些概念有何實用之處?

「標準概念」是指 Google 建立的概念,在其他資料集內做為基本「建構模塊」。這些概念本身是針對六個 DSPL 資料集定義,這些資料集會將舊資料集分成「時間」、「地理」等類別。如要存取這些概念,只要在 DSPL XML 檔案的開頭處匯入適當的父項資料集即可。

標準化概念相當實用,因為這類概念不僅能節省時間 (例如不必手動輸入世界上各個國家/地區的經緯度值),還能指示系統如何以視覺化方式呈現資料。舉例來說,公開資料瀏覽器會使用 time:... 概念設定折線圖 X 軸格式、使用 entity:entity 概念的 name 屬性產生維度挑選器 UI 的字串、使用 geo:locationlatitudelongitude 屬性,在地圖視覺化呈現資料等等。

公開資料瀏覽器能理解所有標準概念嗎?

雖然「公開資料瀏覽器」已經瞭解大部分提供的標準化概念,但仍有少數無法以視覺化方式呈現。以下列出幾點建議和解決方法:

概念 解決方法
quantity:index 請改用 quantity:ratioquantity:magnitude
time:quarter 請按照 DSPL 食譜集所述使用 time:month
time:week 請按照 DSPL 食譜集所述使用 time:day

日後我們會進一步支援這些概念,敬請期待。

如何在資料集中使用標準概念?

請參閱要使用的特定概念說明文件,也可查看 DSPL Cookbook,當中針對多數最常見的概念提供了詳盡的逐步操作說明。

匯入資料集並以視覺化方式呈現

為什麼我無法成功匯入資料集?

Public Data Explorer 的上傳介面會掃描您的 DSPL 資料集,如果偵測到任何錯誤,就會禁止匯入作業。匯入工具在 XML 檔案中的拼字、大小寫和標記順序 / 位置,以及 CSV 檔案內的資料版面配置和排序方面都很敏感,因此可能需要傳遞幾則訊息才能正確完成這些事項並順利匯入資料集。

解決這些問題的第一步是查看 UI 中顯示的錯誤訊息,並採取適當的修正動作。這些訊息不見得最容易理解 (我們正積極改善相關問題),因此我們彙整了一份表格,說明最常見的訊息:

發生錯誤 說明
重複鍵:... 概念的定義表格包含重複的 ID 值 (即資料欄中名稱與概念相同的值)。這些值是用來識別概念的個別例項,因此請勿重複。
剖析來源所產生的資料列 ([...]) 會在資料中的多個不同資料列群組出現例外狀況。 您的 CSV 未正確排序。如需相關操作說明,請參閱上方討論內容
剖析來源資料列導致的例外狀況如下:「...」格式錯誤:「...」 CSV 中的這個值 (通常是日期) 與 XML 檔案中指定的格式不一致。請變更格式或值,使其相符。
剖析來源中的資料資料列時,由於行中元素數量 (...) 的元素數量與第 [...] 行的指定屬性數量 (...) 不相符 CSV 檔案中的一列包含的值過多或太少。請修正這個資料列的格式。
剖析來源來源造成的資料列例外狀況:「...」 CSV 中的值 (通常為整數或浮點值) 內含非數字字元 (例如美元符號、百分比符號等),導致系統無法正確剖析該值。請移除這些多餘的字元。
以資料值「...」針對片段「...」的屬性「...」時,剖析來源所產生的資料列並不是參照概念「...」的鍵。 您有一個切片包含無法辨識的維度值 (即沒有列在對應概念所有可能值清單中)。請返回維度概念定義表格,並視需要加入值。
資料中的標題「...」是表格中的常數屬性 CSV 檔案中的欄標題與 XML 資料表定義中定義的欄 ID 不符。請變更其中一個,使其相符。
XML 剖析錯誤:發現無效內容的開頭是元素「...」。預期中可能有「{...}」、{...}... 所參照的 XML 元素位置不正確。請確認順序正確無誤,且元素有正確的父項 (例如nameinfo)。
XML 剖析錯誤...「...」屬性不得出現在元素「...」中。 這個 XML 標記屬性中的拼寫、大小寫或位置不正確。請參閱說明文件,瞭解適當的使用方式。
XML 剖析錯誤。...元素「...」不能含有 [children] 字元,因為這個類型的內容類型僅限元素。 您的 XML 檔案中有某些雜亂的文字 (可能是缺少 <> 的標記所致)。請修正文字,然後再試一次。

如果找不到上方清單未列出的訊息,請前往 DSPL 論壇發文提問,我們很樂意提供協助。

我的資料集已成功匯入,但無法在「公開資料瀏覽器」中顯示任何視覺化內容。為什麼會發生這種情況?

當資料集為有效的 DSPL,但不屬於「公開資料瀏覽器」中可視覺化的 DSPL 子集時,就會發生這個問題。造成這種情況的可能原因有很多,最常見的原因如下:

  • 定義沒有資料表的維度概念:如果沒有這項資訊,Public Data Explorer 就無法判斷要在 UI 中顯示哪些選項。
  • 建立只包含指標的資料集:公開資料瀏覽器需要在資料集內定義至少一個類別 (即非時間) 維度,才能正確建立視覺化 UI 的結構。
  • 未在配量中加入時間維度:公開資料瀏覽器只能以視覺化方式呈現時間序列。產品會忽略非時間片段。
  • 使用標準 time:... 以外的時間維度:公開資料探索工具會使用標準 time 概念,為產品中的各種視覺化內容設計和建立動畫效果;但不會瞭解其他時間的概念,例如在自己的資料集中建立的概念。
  • 使用的時間值過大或過小:Public Data Explorer 目前無法以視覺化方式呈現時間精細程度小於一天的資料集。另一方面,這項工具在處理非常大的年份值時會發生問題 (例如數萬個)。我們希望日後可以提高這些精細程度的彈性。

如何將視覺化資料集整合至我的網站?

請參閱 Public Data Explorer 說明中心的這篇文章。如前文內容所述,您可以手動調整嵌入網址,以取得「完整嵌入」(即包含探索控制項的一項)。