建構社群連結器時,您在結構定義中定義的每個欄位都需要資料類型。資料類型會定義欄位的原始類型,例如 BOOLEAN
、STRING
、NUMBER
等。
除了資料類型,Looker Studio 也會使用語意類型。語意類型有助於描述資料代表的資訊類型。舉例來說,NUMBER
資料類型的欄位在語意上可能代表貨幣金額或百分比,而 STRING
資料類型的欄位在語意上可能代表城市。如要查看可用的語意類型,請參閱語意類型說明文件。
社群連接器結構定義和 Looker Studio 欄位
定義社群連接器的結構定義時,每個欄位都有各種屬性,可決定欄位在 Looker Studio 中的呈現和使用方式。例如:
- conceptType 是使用
conceptType
屬性在連接器結構定義中定義。這項屬性會決定欄位是否視為維度或指標。如要瞭解指標和維度的差異,請參閱「維度和指標」。 - 語意類型可定義於連接器結構定義中,或由 Looker Studio 根據連接器中定義的資料類型屬性,以及連接器傳回的資料值自動偵測。如要進一步瞭解相關運作方式,請參閱「自動偵測語意類型」。
- 匯總類型會決定指標值 (系統會忽略維度) 是否可以重新匯總。將
semantics.isReaggregatable
屬性設為true
時,系統會預設為SUM
彙整,否則會設為Auto
。您也可以使用defaultAggregationType
屬性,手動為可重新匯總的欄位設定預設匯總類型。
在 Looker Studio 中使用連接器設定及連線時,欄位編輯器會根據您定義的上述屬性,顯示連接器的完整架構。如果已加入語意類型,系統就會按照您的定義顯示。如果您使用自動語意類型偵測,系統會顯示偵測到的欄位。
設定語意資訊
設定語意資訊的方法有兩種。您可以手動設定欄位語意,也可以讓 Looker Studio 自動偵測。
舉例來說,如果數字在語意上代表美元,Looker Studio 就無法自動偵測到這個語意類型。此外,自動語意偵測功能需要 Looker Studio 為結構定義的每個欄位發出資料擷取呼叫。如果您改為手動指定結構定義,系統就不會發出任何資料擷取呼叫。如果您知道資料的語意類型 (例如貨幣、百分比、日期等),建議在結構定義中明確設定,以確保資料準確性並提升效能。
手動設定語意類型 (建議)
如果您知道語意類型,可以為每個結構定義欄位手動定義 semantics
。如要進一步瞭解可用的屬性,請參閱欄位參考資料頁面。如果您選擇定義手動語意類型,建議為每個欄位定義 semanticType
和 semanticGroup
。手動提供這些屬性後,系統就不會執行自動語意類型偵測程序。如果您手動設定部分欄位,但未設定所有欄位,則未指定的欄位會根據為該欄位指定的 dataType
,預設為 Text
、Number
或 Boolean
。
以下是簡單的結構定義範例,可手動設定語意型別。Income
設為「貨幣」,而 Filing Year
設為日期。
排解手動語意類型問題
如果為基礎資料設定的語意類型不正確,系統就無法正常運作。這項測試可能較為困難,但您可以採取一些做法來找出問題。
- 從資料中傳回 2 或 3 列,而非所有資料,然後手動檢查。
- 在 Looker Studio 中建立表格,只使用您要檢查的欄位。
- 請特別留意
Geo
和Date
欄位,因為這兩個欄位的格式最嚴格。
自動偵測語意型別
如果未在結構定義中定義任何語意類型,Looker Studio 會嘗試根據資料類型屬性和連接器傳回的資料值格式,自動偵測語意類型。
自動偵測程序的步驟如下:
- 執行社群連結器的
getSchema
函式,要求結構定義。 - 反覆處理連接器結構定義中定義的欄位批次,並對這些欄位發出
getData
要求。系統會執行getData
要求,並將sampleExtraction
參數設為true
,表示資料要求是為了進行語意偵測。 - 根據欄位資料類型和從
getData
要求傳回的值格式,找出欄位的語意類型。
處理自動語意類型偵測的選項
當 Looker Studio 執行社群連接器的 getData
函式以進行語意偵測時,傳入的要求會包含 sampleExtraction
屬性,且該屬性會設為 true
。Looker Studio 只會使用連接器傳回的資料,判斷欄位的語意類型。由於這個值不會用於其他用途,因此不需要外部來源的實際資料。
您可以透過幾種方式改善程式碼中的語意型別偵測:
建議:傳遞預先定義的值
針對每個欄位傳回最能代表語意類型的值,且 Looker Studio 已知可正確偵測該值。 舉例來說,如果欄位的語意類型為「國家/地區」,則傳回的值應為「義大利」IT
。這種做法的另一個好處是速度快得多,因為您不必向第三方服務發出 HTTP 資料要求。只傳回 n 筆記錄
如果您從中擷取資料的第三方服務在要求資料時支援列數限制,請傳回一小部分列給 Looker Studio,而非完整資料集。這樣一來,您在每個語意偵測要求中傳遞給 Looker Studio 的資料量就會受到限制。要求所有資料欄並快取回應
如果可以從擷取資料的第三方服務要求所有資料欄,請在 Looker Studio 收到第一個語意偵測要求時,擷取所有資料欄並快取結果。對於後續的語意偵測要求,系統會從快取擷取欄值,而不是向第三方服務發出額外的 HTTP 要求。不採取任何不同做法
您可以選擇不針對設為true
的要求實作任何特定調整措施。sampleExtraction
這會導致語意偵測程序變慢,因為 Looker Studio 必須擷取所有資料才能進行語意偵測程序。此外,由於系統會平行執行許多語意偵測要求,這也會影響外部資料來源的要求率。
自動偵測語意類型時可辨識的格式
日期與時間
YYYY/MM/DD-HH:MM:SS
YYYY-MM-DD [HH:MM:SS[.uuuuuu]]
YYYY/MM/DD [HH:MM:SS[.uuuuuu]]
YYYYMMDD [HH:MM:SS[.uuuuuu]]
Sat, 24 May 2008 20:09:47 GMT
2008-05-24T20:09:47Z
- 時間:以秒、微秒、毫秒和奈秒為單位的 Epoch。
地理區域
- 洲名或代碼
- 子洲別名稱或代碼
- 區域名稱或代碼
- 國家/地區名稱或代碼。另請參閱 ISO_3166-1。
- 城市名稱
- 以半形逗號分隔的經緯度值
- 指定行銷區域 (DMA) 名稱和代碼