反饋已提交

網絡繁忙

當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

動態參數注入

一、概述

  1. 將多個資料集/表根據某幾個欄位進行連結,一般有三種關聯方式:過濾、SQL語句、動態參數注入。

  2. 透過過濾的方式,報表的展現速度會很慢,而SQL 語句又相對複雜。使用動態參數注入的方式,既可加快報表的展現速度,又不用編寫複雜的 SQL 語句。當處理小容量資料集時,參數注入的優越效能是顯而易見的。對於超大資料集,最好使用SQL語句。

  3. 動態參數注入的原理:透過注入的值對資料查詢中的資料進行過濾操作,使得資料查詢只讀取過濾後的資料,由此提高報表的效能。

  4. 本文透過3種連結資料集的方式展現動態參數注入的優勢。

  5. 本節內容:

    透過過濾連結資料集。

    透過SQL語句連結資料表。

    透過動態參數注入連結資料集。

二、設定系統日誌級別

  1. 管理員登入決策平臺,進入【管理】 → 【智慧運維】 → 【平臺日誌】。

  2. 將日誌級別改為【INFO】,點選【儲存】。

1.png

三、透過過濾連結資料集

1
新建查詢。
  1. 新建資料庫查詢【ds1】。

    SELECT * FROM ORDERS。

    拖入表格【ORDERS】。

  2. 新建資料庫查詢【ds2】。

    SELECT * FROM ORDERSDETAIL。

    拖入表格【ORDERSDETAIL】。

2.png

3.png

2
插入資料欄。
  1. B3:E3:拖入【ds1】資料欄【ORDERID】、【SIGNDATE】、【SHIPDATE】和【AMOUNT】。

  2. F3:I3:拖入【ds2】資料欄【ORDERID】、【PRODUCTID】、【QUANTITY】和【PRICE】。

  3. B2:I2:輸入表頭,填充灰色。

  4. B2:I3:居中對齊,新增邊框。

4.png


3
設定過濾。
  1. 選中【F3】單元格,編輯過濾器。

  2. 寫入條件:【ORDERID】等於B3,點選【新增】。

5.png

4
預覽。

6.png

5
分析日誌。
  1. 很顯然【ds2】中的資料是全部取出的。如果資料量特別大,將資料全部取出會降低報表的效能。

7.png

四、透過SQL語句連線資料表

1
新建查詢。
  1. 新建資料庫查詢【ds1】。

  2. 編寫SQL語句:

    SELECT * FROM ORDERS a

    left join ORDERSDETAIL b on a.ORDERID=b.ORDERID。

1.png

2
拖入資料列。
  1. B3:I3:拖入【ds1】資料列【ORDERID】、【SIGNDATE】、【SHIPDATE】、【AMOUNT】、【ORDERID】、【PRODUCTID】、【QUANTITY】和【PRICE】。

  2. B2:I2:輸入表頭,填充灰色。

  3. B2:I3:居中對齊,新增邊框。

2.png

3
预览。

3.png

4
分析日誌。
  1. 報表計算時間將至47ms。SQL語句的執行是快的,但是當涉及的資料表很多時,定義 SQL語句就會很麻煩,也不容易閱讀。

4.png

五、透過動態參數注入連線資料集

1
新建資料庫查詢。
  1. 新建資料庫查詢【ds1】。

  2. 拖入表格【ORDERS】SELECT * FROM ORDERS。

  3. 新建資料庫查詢【ds2】。

  4. 使用以下資料查詢。

    SELECT * FROM ORDERSDETAIL

    WHERE ORDERID='${orderid}'。

2
拖入數據列。
  1. B3~E3:拖入【ds1】數據列【ORDERID】、【SIGNDATE】、【SHIPDATE】和【AMOUNT】。

  2. F3~I3:拖入【ds2】數據列【ORDERID】、【PRODUCTID】、【QUANTITY】和【PRICE】。

  3. B2~I2:輸入表頭。填充灰色。

  4. B2~I3:居中對齊,添加邊框。

7.png

3
設定動態參數注入。
  1. 選中【F3】單元格,點選注入。

  2. 點選【+】添加註入條件,左側框寫入orderid,右側框資料型別選擇公式,點選後在公式定義框輸入B3。

  3. 完成設定後,F3左下角出現藍色三角,表示F3中的資料列設定了動態參數。

8.png

4
預覽。

9.png

5
分析日誌。
  1. 資料是根據資料集參數的值逐一讀取的,所以記憶體可以再讀取後及時釋放。

10.png

附件列表


主題: 效能優化
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉