全部產品
Search
文件中心

:預留位置

更新時間:Jun 30, 2024

本文主要為您介紹預留位置的使用情境和使用方法。

操作步驟

建立入口

入口一:自訂SQL編輯頁面

  1. 在SQL代碼編輯頁面,單擊預留位置管理

    image.png

  2. 預留位置管理面板,系統會自動識別您在SQL中使用的預留位置並展示在預留位置管理面板中,您可以對預留位置的變數類型、預設值進行修改,配置完成後單擊確定。

    image.png

入口二:資料集編輯頁面

  1. 單擊資料集編輯頁上方功能表列中image.png表徵圖,進行預留位置管理。image.png

  2. 單擊建立預留位置,可通過手動輸入的方式建立預留位置。

    image.png

入口三:儀表板編輯頁面

  1. 在儀表板編輯頁面,按照以下方式建立預留位置

    1. 單擊image.png表徵圖,建立預留位置。

      image.png

    2. 預留位置管理介面建立預留位置image.png

  2. 建立預留位置介面輸入變數名變數類型查詢預設值image.png

配置項及說明

配置項

說明

變數名

預留位置的名稱,可自訂修改。

類型

預留位置的類型,分為運算式預留位置和值預留位置,類型不支援修改。

變數類型

支援文本、數值、日期-年、日期-年季、日期-年月、日期-年周、日期-年月日、日期-年月日時分秒。

查詢預設值

預設值生效範圍支援僅資料集全域生效兩種模式:

  • 僅資料集:只在資料集編輯頁生效。

  • 全域生效:在儀表板、試算表等下遊也生效。

輸入框輸入最多150個字元。

說明

運算式預留位置的預設值需填寫完整的運算式,比如:area = "東北"。

操作

單擊表徵圖image.png刪除預留位置。

值預留位置

可通過儀表板上的查詢控制項傳入一個值、一組值。

說明

當預留位置是日期時,需要選擇具體的日期格式,來控制傳入值的格式。

格式'$val{預留位置名}'

SQL程式碼範例如下

SELECT * FROM tablename
WHERE area in ('$val{area_ph}') -- 文本類型 多選
AND name = '$val{name_ph}' -- 文本類型 單選
AND number = $val{number_ph} -- 數實值型別
AND report_date > '$val{report_date_ph.get(0)}' -- 日期類型 擷取日期範圍控制項起始日期
AND report_date < '$val{report_date_ph.get(1)}' -- 日期類型 擷取日期範圍控制項結束日期

運算式預留位置

可通過儀表板上的查詢控制項傳入一個條件。

當儀表板上的篩選條件中,使用者可以自由修改篩選方式,需要使用運算式預留位置,將整個篩選條件都傳入SQL。

格式$expr{物理欄位名:預留位置名}

SQL程式碼範例如下

SELECT report_date,
 order_level,
 shipping_type,
 area,
 price,
 order_number
from company_sales_record
where $expr{report_date :report_date}
and $expr{order_level :order_level}
and $expr{order_number :order_number}

標籤預留位置

通過標籤預留位置擷取當前訪問使用者的標籤值。

格式: $tag{使用者標籤名}

例如,控制某員工只能看到華北大區的資料,只能看到商品A,商品B的資料,則配置某使用者的標籤:

  • 地區:華北

  • 商品:商品A, 商品B

SQL程式碼片段樣本:

select * from table_name
where 
area = '$tag{地區}'
and
product in ('$tag{商品}')

當某使用者訪問資料時,系統會自動讀取該使用者的標籤,運行時的SQL樣本。

select * from table_name
where 
area = '華北'
and
product in ('商品A', '商品B')

系統預留位置

使用方法和其他預留位置一致,能夠用在SQL、計算欄位中,支援以下4種系統預留位置:

  • 使用者名稱(登入帳號):$system{accountName}

  • 使用者暱稱(組織內):$system{userNick}

  • 使用者ID(Quick BI系統內):$system{userId}

  • 三方系統使用者ID(阿里雲ID):$system{accountId}

SQL樣本如下:

select
  *
from
  company_sales_record
where
  customer_name = '$system{accountName}'
  and customer_name = '$system{userNick}'

條件預留位置

可通過儀表板上的樹形下拉查詢控制項傳入一組值。

格式:'$condition{一級欄位, 二級欄位: 預留位置名}'

其中,欄位數量最多限制10個,需要和查詢控制項樹形結構保持一致。

SQL樣本如下:

select
 *
from
 company_sales_record
where 
 $condition{product_type,product_sub_type,product_name :product_para}

查詢控制項配置如下:

image

應用情境

情境1-動態調整計算欄位結果值

情境描述

設定計算欄位,並在運算式中引用預留位置,通過傳預留位置的值調整計算欄位的值。

如:超過預留位置值的為大訂單,否則為小訂單;可通過查詢控制項傳預留位置值,動態調整大訂單和小訂單的衡量標準,圖表也隨之重新整理。

操作步驟

  1. 建立預留位置

    1. 在自訂SQL編輯頁或資料集編輯頁單擊預留位置管理->建立預留位置。image.png

    2. 輸入變數名Price,類型為值預留位置,變數類型為數值,查詢預設值為全域生效,預設值為100(選填)。

      說明

      用到計算欄位的預留位置必須有全域生效的預設值。

      image.png

  2. 建立計算欄位。

    1. 在資料集編輯頁面,單擊建立欄位,按照圖示方式建立訂單規模欄位。

      image.png

      欄位運算式樣本:

      case when [price]>$val{Price}
      then '大訂單'
      else '小訂單'
      end
    2. 單擊確定儲存資料集。

  3. 建立可視化圖表和查詢控制項。

    1. 單擊開始分析->建立儀表板。

    2. 在儀表板編輯頁面,按照圖示方式添加柱圖

      image

    3. 訂單規模欄位拖入類別軸/維度,將price欄位拖入值軸/度量,並單擊更新,此時柱圖展示效果如下:

      image.png

      此時,我們可以看到,度量欄位price按照佔位符Price的預設值100,區分出大訂單和小訂單。

    4. 按照圖示方式建立查詢控制項。

      image.png

    5. 在查詢條件設定介面,將佔位符Price設定為查詢條件。image.png

  4. 查看效果。

    此時,您可以通過輸入查詢控制項的數值來調整大小訂單的衡量標準。

    比如查詢控制項數值為100時,大訂單金額為60.72萬;查詢控制項數值為150時,大訂單金額為52.5萬。

    53.gif

情境2-靈活切換指標或分析維度

情境描述

當您有多個指標、維度需要展示,但放在同一個圖表會顯得內容較多不夠清晰,搭建多個圖表又會導致內容冗餘時,可通過該能力實現圖表欄位的靈活切換。

以切換指標維度為例。

操作步驟

  1. 建立預留位置。

    1. 在自訂SQL編輯頁或資料集編輯頁單擊預留位置管理->建立預留位置。image.png

    2. 輸入變數名指標,類型為值預留位置,變數類型為文本,查詢預設值為全域生效,預設值為單價image.png

  2. 建立計算欄位。

    1. 單擊建立欄位,按照圖示方式建立資料欄位。image.png

      欄位運算式樣本:

      case when '$val{指標}'='訂單金額' then [訂單金額]
      when '$val{指標}'='利潤金額' then [利潤金額]
      when '$val{指標}'='單價' then [單價]
      when '$val{指標}'='運輸成本' then [運輸成本]
      else 0
      end
      說明

      文本類型預留位置請用英文單引號引用,例如'$val{指標}'

    2. 單擊確定儲存資料集。

  3. 建立可視化圖表和查詢控制項。

    1. 單擊開始分析->建立儀表板。

    2. 在儀表板編輯頁面,按照圖示方式添加柱圖

      image

    3. 地區欄位拖入類別軸/維度,將資料段拖入值軸/度量,並單擊更新,此時柱圖展示效果如下:image.png

    4. 按照圖示方式建立查詢控制項。image.png

    5. 在查詢條件設定介面,將佔位符指標設定為查詢條件,選項值來源選擇手工輸入並配置手工錄入的值。image.png

  4. 查看效果。

    此時,您可以通過篩選查詢控制項的值切換不同的指標。

    10.gif

情境3-動態調整輔助線

情境描述

將輔助線的值與預留位置綁定,為預留位置賦值時,輔助線跟隨變化。

如:輔助線為每月的銷售額KPI,每個月只需要通過查詢控制項調整即可動態更新輔助線的位置,不需要重新修改報告。

操作步驟

  1. 建立預留位置

    說明

    輔助線裡的預留位置只支援數實值型別。

    1. 在儀表板編輯頁面,按照圖示方式建立預留位置。image.png

    2. 輸入變數名Target,變數類型為數值,查詢預設值為全域生效,預設值為4000000。

      說明

      輔助線中使用的預留位置必須有全域生效的預設值。

      image.png

  2. 設定輔助線。

    1. 分析頁簽,找到輔助線並單擊右側筆形表徵圖。image.png

    2. 按照圖示方式設定添加輔助線,並設定值為預留位置Targetimage.png

      此時您可以看到輔助線400萬顯示在圖表上。image.png

  3. 建立查詢控制項。

    1. 按照圖示方式建立查詢控制項。image.png

    2. 設定預留位置Target為查詢條件並單擊確定image.png

  4. 查看效果

    您可以通過切換查詢控制項的值來調整輔助線的位置。

    11.gif

情境4-SQL代碼中使用預留位置實現欄位結果值的動態調整以及過濾

情境描述

用SQL代碼建立資料集時,代碼中引用預留位置,通過調整預留位置的值實現欄位結果值的動態調整以及過濾。

操作步驟

  1. 在資料集編輯頁面,單擊畫布中的使用SQL代碼建立第一張表或左側面板中的SQL代碼建立表

    image.png

  2. 輸入SQL代碼後

    image.png

    SQL樣本如下:

    SELECT report_date, order_level, shipping_type,price,order_number,area,
     case when profit_amt< ${profit_range} then'虧損' 
     when profit_amt> ${profit_range} then'盈利'
     else '持平'
     end '訂單等級'
    from company_sales_record
    where $expr{report_date :report_date}
    and $expr{order_level :order_level}
    and $expr{order_number :order_number}
  3. 單擊預留位置管理

    image.png

  4. 進入預留位置管理介面並輸入預設值。

    image.png

    說明

    如果預留位置應用在select語句後面,必須設定全域生效的預設值。

    本例中,預留位置“profit_range”必須設定全域生效的預設值。

  5. 單擊運行,可以看到運行結果。

    image.png

  6. 單擊確認編輯儲存資料集。

  7. 建立可視化圖表和查詢控制項。

    1. 單擊開始分析->建立儀表板。

    2. 在儀表板編輯頁面,按照圖示方式添加餅圖

      image.png

    3. 按照圖示方式建立查詢控制項。

      image.png

    4. 查看效果

      此時,您可以通過輸入查詢控制項的數值來調整利潤範圍的衡量標準。

      52.gif