BigQuery 團隊已開發出可將 Google 試算表視為資料庫中資料表的功能。也就是說,您可以在單一查詢中,將 10 億列的 BigQuery 資料表與 100 列對應表合併。
這項功能可讓您設定資料模型、建立臨時資料的資料管道,或將最新數據與最新目標和預測結果進行比較。
範例
舉例來說,您可能想在 Looker 中模擬使用 Google 表單收集到的使用者名稱。
如要在 Looker 中收集及建立資訊模型,請執行下列步驟:
- 使用 Google 表單將資料收集到 Google 試算表。每當出現新的提交內容時,系統就會在試算表中新增一列。
- 將試算表分享給您用來連線至 Looker 的服務帳戶,或透過連結 (僅限檢視) 授予使用者存取權。
- 請確認您的專案已啟用 Drive API 和 Sheets API。
- 透過 BigQuery 介面建立表格,該介面會從試算表取得內容。
- 在 Looker 專案中產生資料模型,將試算表資料表與您可能已收集到的其他使用者資料 (例如使用者所在位置) 彙整。您也可以使用 SQL 將資料庫中的名稱標準化。您可以將資料快取到 BigQuery,避免試算表負荷過重。
以下是產生的 LookML 範例:
explore: names_sheet { persist_for: "60 seconds" join: names_facts { sql_on: ${names_sheet.normalized_name} = ${names_facts.normalized_name} ;; sql_where: ${names_facts.city} ;; relationship: one_to_one } view_name: names_sheet { derived_table: { persist_for: "2 minutes" sql: SELECT row_number() OVER() as id, name, UPPER(CASE WHEN REGEXP_MATCH(name, r'\,') THEN REGEXP_EXTRACT(name, r', (\w+)') ELSE REGEXP_EXTRACT(name, r'^(\w+)') END ) as normalized_name FROM namesheet.names ;; } dimension: id { type: number } dimension: name { order_by_field: id # keep the rows in the original order } dimension: normalized_name { } measure: count { type: count drill_fields: [id, name, names_facts.city] } measure: count_from_new_york_city { type: count filters: [names_facts.city: "New York City"] } measure: percentage_from_new_york_city { type: number sql: ${count_from_new_york_city}/${count} ;; value_format_name: percent_2 } measure: average_age_median { type: average sql: ${names_facts.age_median} ;; value_format: "0000" } } }
您可以使用這個模型,根據資料建立探索,並建立外觀和資訊主頁,顯示您從 Google 表單收集並輸入 Google 試算表的所有使用者名稱,以及每位使用者的其他資訊。