查詢參數

查詢參數允許您在運行時將值替換為查詢。任何雙花括號之間的字符串{{}}作為查詢參數處理。在設置參數值的結果窗格上方會出現一個小部件。查詢參數比查詢過濾器並且隻應該在查詢過濾器不夠用的情況下使用。

查詢參數

添加查詢參數

  1. 類型Cmd+P.參數被插入到文本插入符號和添加參數對話框出現了。

    • 關鍵字:表示查詢中的參數的關鍵字。

    • 標題:顯示在小部件上方的標題。默認情況下,標題與關鍵字相同。

    • 類型:支持文本、數字、日期、日期和時間、日期和時間(帶秒)、下拉列表、基於查詢的下拉列表。默認為“文本”。

  2. 輸入關鍵字,可選擇覆蓋標題,並選擇參數類型。

  3. 點擊添加參數

  4. 在參數小部件中,設置參數值。

  5. 點擊申請更改

  6. 點擊保存

或者,你也可以手動輸入雙花括號{{}}然後點擊參數小部件附近的齒輪圖標來編輯設置。

要使用不同的參數值重新運行查詢,請在小部件中輸入該值並單擊申請更改

編輯查詢參數

要編輯參數,請單擊參數小部件旁邊的齒輪圖標。若要防止不擁有查詢的用戶更改參數,請單擊隻顯示結果

<關鍵詞>參數對話框出現:

參數設置

更改參數的順序

要更改參數顯示的順序,可以單擊並拖動每個參數到所需的位置。

查詢參數類型

文本

接受字符串作為輸入。反斜杠、單引號和雙引號轉義,Databricks在此參數中添加引號。例如,一個字符串先生的李的轉化為‘先生’s李\“年代”使用這種方法的一個例子是

選擇用戶在哪裏的名字{{text_param}}

數量

以數字作為輸入。使用這種方法的一個例子是

選擇用戶在哪裏年齡{{number_param}}

基於查詢的下拉列表

接受查詢的結果作為輸入。它具有與下拉列表參數相同的行為。必須保存Databricks SQL下拉列表查詢,以便將其用作另一個查詢的輸入。

  1. 點擊基於查詢的下拉列表類型在設置麵板。

  2. 單擊查詢字段並選擇一個查詢。如果目標查詢返回大量記錄,則性能將下降。

如果目標查詢返回多個列,Databricks SQL將使用第一個一個。如果目標查詢返回的名字而且價值列,Databricks SQL將參數選擇小部件填充為的名字列,但使用關聯的對象執行查詢價值

例如,假設這樣的查詢:

選擇user_uuid作為“價值”用戶名作為“名字”用戶

返回以下數據:

價值

的名字

1001

約翰。史密斯

1002

簡母鹿

1003

鮑比表

下拉列表小部件看起來像這樣:

John Smith, Jane Doe和Bobby Tables

當Databricks執行查詢時,傳遞給數據庫的值將是1001、1002或1003。

日期和時間

Databricks提供了許多參數化日期和時間戳值的選項,包括簡化時間範圍參數化的選項。您可以從三個不同精度的選項中選擇:

選項

精度

類型

日期

一天

日期

日期和時間

一分鍾

時間戳

日期和時間(以秒計)

第二個

時間戳

當選擇範圍參數選項,則創建由.start而且.end後綴。所有選項都將參數作為字符串字麵值傳遞給查詢;Databricks要求將日期和時間值括在單引號中().例如:

——日期參數選擇usage_logs在哪裏日期'{{date_param}}'——日期和時間範圍參數選擇usage_logs在哪裏modified_time>{{date_range。開始}}而且modified_time<{{date_range。結束}}’

日期參數使用日曆選擇接口,默認為當前日期和時間。

請注意

的列的“日期範圍”參數僅返回正確的結果日期類型。為時間戳列時,使用日期和時間範圍選項之一。

動態日期和日期範圍值

當您向查詢中添加日期或日期範圍參數時,選擇小部件將顯示一個藍色閃電圖標。單擊它可顯示動態值,如今天昨天最後的最後的,或最後的一年.這些值會動態更新。

動態的日期

重要的

動態日期和日期範圍與預定查詢不兼容。

在儀表板中使用查詢參數

查詢可以有選擇地利用參數或靜態值。當將基於參數化查詢的可視化添加到儀表板中時,可視化可以配置為使用:

  • 小部件參數

    小部件參數特定於儀表板中的單個可視化,出現在可視化麵板中,指定的參數值僅應用於可視化底層的查詢。

  • 指示板參數

    儀表板參數可以應用於多種可視化。在向儀表板添加基於參數化查詢的可視化時,默認情況下該參數將作為儀表板參數添加。儀表板參數是為儀表板中的一個或多個可視化配置的,並顯示在儀表板的頂部。為儀表板參數指定的參數值應用於重用該特定儀表板參數的可視化。一個儀表板可以有多個儀表板參數,每個參數可能應用於某些可視化,而不適用於其他可視化。

  • 靜態值

    使用靜態值代替響應變化的參數。靜態值允許您硬編碼一個值來代替參數,並將使參數從儀表板或小部件中“消失”。

當您添加包含參數化查詢的可視化時,您可以通過單擊適當的鉛筆圖標來選擇可視化查詢中參數的標題和來源鉛筆圖標.您也可以選擇關鍵字和默認值。看到參數屬性

參數映射

向儀表板添加可視化後,可以通過單擊垂直省略號訪問參數映射界麵垂直的省略在儀表板小部件的右上方,然後單擊更改小部件設置

開放儀表板參數映射
修改參數映射視圖

參數屬性

  • 標題:顯示名稱,出現在儀表板上的值選擇器旁邊。默認為該參數關鍵字.要編輯它,請單擊鉛筆圖標鉛筆圖標.靜態儀表板參數不會顯示標題,因為值選擇器是隱藏的。如果您選擇靜態值作為你的價值來源然後標題字段顯示為灰色。

  • 關鍵字:底層查詢中此參數的字符串字麵值。如果儀表板沒有返回預期的結果,這對於調試很有用。

  • 默認值:沒有指定其他值時使用的值。若要從查詢屏幕更改此設置,請使用所需的參數值執行查詢並單擊保存按鈕。

  • 價值來源:參數值的來源。點擊鉛筆圖標鉛筆圖標選擇一個來源。

    • 新的儀表板參數:創建一個新的儀表板級參數。這允許您在儀表板上的一個位置設置參數值,並將其映射到多個可視化。

    • 現有儀表盤參數:將參數映射到已存在的儀表盤參數。必須指定預先存在的指示板參數。

    • 小部件參數:在儀表板小部件中顯示值選擇器。這對於小部件之間不共享的一次性參數非常有用。

    • 靜態值:為小部件選擇一個靜態值,而不考慮其他小部件上使用的值。靜態映射的參數值不會在儀表板上的任何位置顯示值選擇器,這更緊湊。這使您可以在某些參數不需要頻繁更改時,充分利用查詢參數的靈活性,而不會使儀表板上的用戶界麵變得混亂。

    更改參數映射

常見問題(FAQ)

我可以在一個查詢中多次重用相同的參數嗎?

是的。在花括號中使用相同的標識符。本例使用{{org_id}}參數兩次。

選擇{{org_id}},0查詢在哪裏org_id{{org_id}}

我可以在一個查詢中使用多個參數嗎?

是的。為每個參數使用唯一的名稱。這個例子使用了兩個參數:{{org_id}}而且{{start_date}}

選擇0查詢在哪裏org_id{{org_id}}created_at>“{{start_date}}”