1. 概述
1.1 應用場景
點選柱形圖的柱子跳轉到不同報表。
地圖中設定多個區域名稱,點選不同的區域跳轉到不同的報表。
點選餅圖不同的塊,跳轉到不同的 cpt 。
範例效果如下所示:
1.2 實現思路
圖表屬性面板新增JavaScript類型的超級連結,透過設定系列參數,連結到指定的報表,如下圖所示:
2. 範例
2.1 設計主表
2.1.1 準備資料
建立普通報表,新增內建資料集,如下圖所示:
2.1.2 綁定資料
合併一片儲存格,右鍵選擇插入圖表>餅圖>等弧度玫瑰圖,資料來源為資料集資料,資料配置如下圖所示:
2.2 設計子表:利潤分析
2.2.1 準備資料
建立普通報表,建立資料集 ds1,SQL 語句為:SELECT * FROM 利潤分析
2.2.2 設計報表
合併一片區域儲存格為 A1,插入柱形圖,綁定圖表資料,儲存報表,重新命名為 利潤分析.cpt,如下圖所示:
2.3 設計子表:銷售情況
2.3.1 準備資料
建立普通報表,建立資料集 ds1,SQL 語句為:SELECT * FROM 銷量
2.3.2 設計報表
合併一片區域儲存格為 A1,插入多層餅圖,綁定圖表資料,儲存報表,重新命名為銷售情況.cpt,如下圖所示:
2.4 主表新增超連結
2.4.1系列名傳參
開啟主表,在「特效>交互屬性」中,新增「超級連結>JavaScript」,如下圖所示:
在 JavaScript 視窗右上角的參數介面新增一個參數series,參數值選擇系列名稱,如下圖所示:
注:若是要根據餅圖的分類名判斷,則將系列參數值設定為分類名即可。
JavaScript 程式碼如下:
if(series=='財務部') /*判斷系列名稱為財務部*/
{
var URL='/webroot/decision/view/report?viewlet=doc/Chart/利潤分析.cpt';
window.open(encodeURI(encodeURI(URL))); //在新標籤頁開啟報表
}
if(series=='銷售部')
{
var URL='/webroot/decision/view/report?viewlet=doc/Chart/銷售情況.cpt';
window.open(encodeURI(encodeURI(URL)));
}
如需要在對話框中開啟連結,可如下修改 JavaScript 程式碼:
var url = '';
if (series == '財務部') /*判斷系列名稱為財務部*/ {
url = '/webroot/decision/view/report?viewlet=doc/Chart/利潤分析.cpt';
}
if (series == '銷售部') {
url = '/webroot/decision/view/report?viewlet=doc/Chart/銷售情況.cpt';
}
FR.doHyperlinkByGet({url:url,feature:'width=700,height=450,',title:'主頁',target:'_dialog'}); //在對話框開啟報表
2.4.2 系列名+分類名同時傳參
例如:如果主表是柱形圖,分類名是日期,系列名是不同指標
根據系列名開啟不同子表時候,同時希望把分類名的日期也作為參數傳入子表,可以如下寫法:
if(series=='報到人數')
{
var URL='/webroot/decision/view/report?viewlet=WorkBook2.cpt&starttime='+starttime+'';
window.open(encodeURI(encodeURI(URL))); //在新標籤頁開啟報表
}
注意引號要內外保持一致,“ ”與‘ ’都可以,但不一致會報錯。
2.4.3 系列名+主表參數直接傳參
例如:如果主表是柱形圖,參數面板有開始日期、結束日期篩選,分類名是日期,系列名是不同指標
根據系列名開啟不同子表,同時希望把參數面板的開始日期、結束日期也作為參數傳入子表,可以如下寫法:
注意引號要內外保持一致,“ ”與‘ ’都可以,但不一致會報錯。
2.5 效果預覽
儲存主報表,點選分頁預覽,點選相應的系列,跳轉效果如下所示:
注:不支援行動端。