1. 概述
1.1 問題描述
在決策報表中,設置一個參數,使用一個控件作爲參數輸入值,在其他控件、報表塊、圖表塊中使用 value 函數 獲取參數值,當輸入的參數值改變時,獲取值不會随之改變,即無聯動效果。示例如下:
1)新建決策報表,新建數據庫查詢,SQL 語句爲:select ${para1} as para1,para1 爲數據集參數,默認值爲 1 。如下圖所示:
2)設計決策報表樣式
在決策報表 body 中添加兩個「标簽控件」,控件值分别爲「para1」、「para2」。
添加兩個「文本控件」對應「para1」、「para2」,para1 爲數據集參數,作爲輸入值;para2 輸入公式:value('ds1',1)+1,返回獲取的 para1 值加 1 後的值。
添加一個「報表塊」,在單元格中插入公式:value('ds1',1) 。
決策報表樣式如下圖所示:
3)保存報表,點擊「PC端預覽」,效果如下圖所示:
1.2 原因分析
value 函數在決策報表 body 中直接使用於控件、報表塊和圖表塊之間時,不會觸發聯動效果。
2. 解決方案
方案一:可以通過給 body 添加參數界面,在參數頁面添加控件作爲輸入值,輸入不同值後點擊查詢,各獲取值會随之改變。
方案二:使用公式 $para1 取值可觸發聯動。
3. 示例:方案一
1)添加參數界面,将 para1 添加到參數界面,para2 及報表塊中取值公式不變,如下圖所示:
2)保存報表,點擊「PC端預覽」,效果如下圖所示:
4. 示例:方案二
1)直接使用公式 $para1 取值,或者報表塊中使用公式的同時,在任意一個單元格插入公式:$para1,即可觸發聯動效果。如下圖所示:
2)将報表塊中公式 $para1 所在單元格「單元格屬性>高級>預覽單元格内容」取消勾選,如下圖所示:
3)保存報表,點擊「PC端預覽」,效果如下圖所示: