您可以透過參數,將資料來源的參數傳回至基礎 SQL 查詢,建立可自訂的動態報表。如要在自訂查詢中使用參數,請按照「執行參數化查詢」一文中的語法規範操作。
標準參數
您可以在任何自訂查詢中使用下列參數:
參數 |
目的 |
|---|---|
|
取得報表日期範圍的開始日期。 |
|
取得報表日期範圍的結束日期。 |
|
取得登入使用者的電子郵件地址。 |
如要使用這些參數,請按照下列步驟操作:
- 在連線面板的「Parameters」(參數) 部分,啟用要使用的參數。啟用
@DS_USER_EMAIL參數時,數據分析會提示您授予電子郵件地址的存取權。 - 在查詢中輸入參數名稱時,請使用大寫格式。
數據分析會將所有參數值做為文字字串傳遞。如要將參數字串當做日曆日期、數字或其他資料類型處理,請使用適當的 SQL 轉換函式,例如 PARSE_DATE、PARSE_TIMESTAMP 或 CAST。
使用日期參數將日期範圍傳遞至基礎查詢
如果報表包含日期範圍控制項,檢視者可以直接透過資料庫,使用該控制項要求不同的開始和結束日期。
使用電子郵件參數提供資料列層級的資料存取權
您可以使用電子郵件地址參數,只顯示與報表、資料來源或探索作業登入使用者相關聯的資料。該使用者必須登入 Google 帳戶,並同意將電子郵件地址提供給數據分析。如果檢視者不同意,報表中所有以這個資料來源為基礎的圖表都會顯示授權錯誤。
自訂參數
您可以在自訂查詢中使用在數據分析使用者介面中建立的任何參數。
在連線頁面中建立參數
- 在自訂查詢編輯器的「參數」部分,按一下「+ 新增參數」。
- 設定參數選項。
- 按一下 [確定]。
隱藏資料來源中的自訂參數
根據預設,報表編輯者可以直接在報表中修改自訂參數。如要禁止報表編輯者變更參數值,可以直接在資料來源設定中隱藏參數:
- 按一下「更多選項」圖示 。
- 按一下「隱藏」。
進一步瞭解如何在報表中允許使用資料來源參數。
在自訂查詢中使用參數
在自訂 SQL 查詢的主體中,將硬式編碼值替換為以 @ 字元開頭的 ID (例如 @param_name)。
參數範例
以下是使用參數的範例:
自訂參數範例
SELECT word FROM `TABLE` WHERE corpus = @corpus;
字串,包含 CONTAINS 和數值門檻
SELECT * FROM `bigquery-public-data.baseball.games_post_wide`
WHERE REGEXP_CONTAINS(gameId, @s)
AND attendance > @attendance LIMIT 100;
多選字串參數
請注意,UNNEST 會如何將多選參數值的陣列清單扁平化:
SELECT * from user.users as user WHERE display_name in UNNEST(@name);
使用標準格式的日期參數
SELECT creation_date, age, display_name from user.users as user
WHERE creation_date > PARSE_DATE('%Y%m%d', @DS_START_DATE)
AND creation_date < PARSE_DATE('%Y%m%d', @DS_END_DATE);
使用 Unix 時間戳記 (以微秒為單位) 的日期參數
SELECT creation_date, age, display_name from user.users as use
WHERE creation_date > UNIX_MICROS(PARSE_TIMESTAMP('%Y%m%d', @DS_START_DATE))
AND creation_date < UNIX_MICROS(PARSE_TIMESTAMP('%Y%m%d', @DS_END_DATE))
電子郵件參數範例
SELECT * FROM Sales WHERE sales-rep-email = @DS_USER_EMAIL;