日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

自定義SQL

在數據分析中,一些復雜的邏輯或模型可通過自定義SQL創建數據表。并且自定義SQL支持傳參,可滿足更復雜多變的分析場景。

前提條件

您已獲取數據,請參見連接數據源。

使用限制

API數據源不支持自定義SQL。

輸入SQL代碼

您可以通過以下2種方式添加自定義SQL。

  1. 進入自定義SQL頁面。

    • 入口1:在數據源頁面,單擊右上角的SQL創建數據集image.png

    • 入口2:數據集編輯頁面,在左側面板選擇數據源,畫布中沒有任何數據表時,單擊畫布中的使用SQL代碼創建第一張表或左側面板中的SQL代碼創建表image.png

  2. 輸入SQL代碼后,單擊運行。

    image.png

    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}

    運行成功后,您可以在運行結果頁簽,看到結果預覽。image.png

  3. 單擊確認編輯

    保存自定義SQL創建的數據集。

修改SQL代碼

您可以通過以下2種方式修改SQL代碼:

  • 鼠標懸浮至畫布的表上,單擊編輯代碼圖標。image.png

  • 單擊畫布上的目標表,在右側的面板中,單擊編輯代碼。image.png

占位符

Quick BI提供占位符的方式進行傳參,在查看報表并進行數據分析的過程中,您可以通過查詢控件把占位符的值傳到SQL中,從而實現數據的靈活分析。Quick BI支持值占位符和表達式占位符,您可以按照需求進行配置。

類型

描述

使用場景

格式

值占位符

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

說明

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

適用于大部分需要傳參的場景。

'$val{占位符名}'

表達式占位符

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

當儀表板上的篩選條件中,用戶可以自由修改篩選方式,需要使用表達式占位符,將整個篩選條件都傳入SQL。

例如下圖儀表板用戶可設置利潤>50或者利潤<50,需要連同操作符一起傳入SQL。參數傳參

$expr{物理字段名:占位符名}

配置方式

根據業務需要寫SQL,加入占位符。

  1. 在SQL代碼編輯頁面,單擊占位符管理。

    image.png

  2. 占位符管理面板,配置以下占位符并單擊確定。

    image.png

    配置項請參見占位符管理。

    說明

    如果占位符應用在select語句后面,必須設置全局生效的默認值。

    例如,在創建數據集時在select語句后面加了占位符“profit_range”,代碼如下:

    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}

    此時如果不設置默認值,無法正常運行。

    image.png

    需在占位符管理里設置“profit_range”的查詢默認值。

    image.png

    默認值設置后可以正常運行,運行結果如下:

    image.png

  3. 單擊保存,保存數據集。image.png

  4. 在頂部菜單欄選擇開始分析 > 創建儀表板。

  5. 在儀表板編輯頁面添加查詢條件,綁定占位符。

    例如,在設置查詢條件時,用一個下拉單選篩選area,綁定SQL占位符,可傳入1個值。image.png

    用文本篩選過濾order_number,綁定SQL參數,傳入一個條件。image.png

  6. 當儀表板查詢時,會按照查詢條件把對應內容傳入值占位符和表達式占位符中。

    例如,儀表板查詢條件如下圖所示。image.png

    則對應的SQL為如下:

    SELECT * FROM company_sales_record
    WHERE area = '華北' 
    AND order_number > 0

    占位符用法示例:

    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)}' -- 日期類型 獲取日期范圍控件結束日期

占位符的使用場景請參見占位符。

說明

兼容歷史寫法:

值占位符(原占位符)的歷史寫法:${占位符名}

表達式占位符(原參數)的歷史寫法:${物理字段名:參數名}

后續步驟

當您需要分析的字段在不同的數據表時,Quick BI支持關聯數據表,請參見構建模型。