圖表連結可以是單個模板中的圖表超鏈,也可以是模板與模板中的圖表連結即熱點連線。下面就通過表格製作軟體FineReport來簡單介紹一下。
工具/原料
大小:148.2M 適用平臺:windows/linux
表格製作軟體FineReport7.1.1
圖表熱點連結(圖表鑽取)
概述
如下圖,FR中圖表也可以進行無限層次的熱點連結,進行資料的鑽取:
實現思路
實現圖表的熱點鑽取,鑽取幾層急需要幾張圖表,上一層圖表在圖表超級連結處將引數傳遞給下一層圖表,下一層模板通過一樣的引數名接收引數值,實現資料過濾,並將過濾後的資料作為圖表的資料來源即可。
模板準備
主報表:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\chart\hy1.cpt,07、08年各地區銷售統計圖;
子報表:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\chart\hy2.cpt,通過引數province、year篩選出某地區某年1-9月的銷售情況。
其中點選主報表時會將相應的地區與年份傳遞給子報表的province、year引數。
注:前面已經介紹過各種圖表的製作方法,這裡hy1和hy2兩張模板的製作方法就不再贅述。
圖表連結設定
開啟主表,選中其中的圖表,點選圖表工具欄中的圖表屬性表-特效>互動屬性,新增一個超級連結至網路報表,選擇子報表,並給超級連結重新命名模板hy2。
將當前分類值(地區)和系列值(年份)傳遞給子表hy2的province、year引數,如下圖:
注:超級連結可以重新命名,當有多個超級連結時,可直觀的從名字上看出該超級連結的連結的目的地,名字可以為空,為空即表示使用預設名稱。
圖表聯動
問題描述
圖表聯動:單個模板的圖表超鏈功能,可讓使用者在同一頁面中檢視多張關聯的圖表,實現圖表聯動的效果,這種聯動是自動的,不需重新重新整理整個頁面,如下圖:
資料集設計
新建工作簿,新增資料集ds1,SQL語句為:SELECT * FROM Sales_Car;
新增資料集ds2,SQL語句為:SELECT * FROM Sales_Car where month ='${month}',給引數month設定預設值為1月。
注:這邊引數的值將從圖表連結處傳過來。
圖表設計
主圖表設計
選中一邊區域單元格,合併單元格。在選單欄中,選擇插入>單元格元素>插入圖表,圖表型別選擇柱形圖,使用資料集資料,設定如下圖:
單元格子圖表設計
再選中一片區域,合併單元格。在選單欄中,選擇插入>單元格元素>插入圖表,圖表型別選擇折線圖,圖表資料來源於資料集資料,資料集為ds2,分類軸為Province,系列名使用欄位值,系列名稱為Month,系列值為Amout,彙總方式為求和,如下圖:
懸浮元素子圖表設計
在選單欄中,選擇選單>懸浮元素>插入圖表,選擇面積圖,圖表的資料與單元格子圖表設計相同。右擊該懸浮圖表,點選設定懸浮元素名稱修改名稱為FloatChart。
圖表聯動設定
新增單元格聯動圖表
選中主圖表,選擇圖表屬性設定-特效>互動屬性,點選超級連結,新增一個圖表超鏈-聯動單元格,選擇圖表所在單元格,並傳遞引數month,引數值選擇分類名:
新增懸浮聯動圖表
在新增一個圖表超鏈-聯動懸浮元素,選擇懸浮圖表FloatChart,同樣新增引數month,引數值為分類名。
圖表聯動之三個圖表的聯動
上一節中介紹了圖表聯動的實現過程,即點選圖表1,圖表2和圖表3顯示圖表1的關聯資料,那麼如果要實現點選圖表1,圖表2顯示圖表1的關聯資料,接著點選圖表2,圖表3顯示圖表2的關聯資料又該如何實現呢,如下圖,下面詳細介紹該功能的實現步驟。
資料準備
新建3個數據集作為3張圖表的資料來源。
ds1:SELECT * FROM [銷量] where 1=1 ${if(len(地區)==0,"","and 地區='"+地區+"'")}
ds2:SELECT * FROM [銷量] where 1=1 ${if(len(地區)==0,"","and 地區='"+地區+"'")} ${if(len(銷售員)==0,"","and 銷售員='"+銷售員+"'")}
ds3:SELECT * FROM [銷量] where 1=1 ${if(len(地區)==0,"","and 地區='"+地區+"'")} ${if(len(銷售員)==0,"","and 銷售員='"+銷售員+"'")} ${if(len(產品型別)==0,"","and 產品型別='"+產品型別+"'")}
圖表設定
資料來源設定
新建3張圖表,柱形圖、餅圖、折線圖,其資料來源分別為ds1,ds2和ds3,具體資料來源設定如下圖:
互動屬性設定
點選柱形圖時,需要將柱形圖的分類軸傳遞給餅圖,作為餅圖資料來源和折線圖資料來源的一個引數值,點選餅圖時,需要將餅圖的系列名傳遞給折線圖作為折線圖資料來源的引數值,如果類似圖表聯動中的是兩個圖表之間的相互關聯,則直接使用超級連結-聯動單元格,但是此處折線圖需要接收來自柱形圖的分類軸值,而折線圖卻不是和柱形圖聯動,所以無法直接使用超級連結-聯動單元格,我們可以使用超級連結中的動態引數,點選柱形圖或餅圖的時候,動態的給引數賦值,並且引數值一直存在,設定如下圖:
柱形圖
餅圖
引數介面設定
如最上面的效果圖,切換到引數設計介面,點選右側下方面板的全部新增,將引數全部新增到引數面板中,如下圖:
地區引數的控制元件型別選擇下拉框,資料字典設定如下圖:
將銷售員和產品型別的控制元件以及標籤設定為不可見,將銷售員和產品型別兩個引數的控制元件新增上去主要是為了在預覽一次報表之後,重新選擇地區時,可以重置銷售員和產品型別兩個引數。
點選圖表後在對話方塊中顯示子圖表
問題描述
點選某張圖表時,將明細圖表以彈出框的方式顯示出來,而不需再開啟一個網頁,如下圖:
注:懸浮的圖表可以設定懸浮窗圖的標題,以及懸浮窗的長和寬,並且懸浮框中的圖表會自適應懸浮框的大小。
模板設計
開啟模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\chart\RelateChart.cpt
將兩個子圖表刪除掉。
新增懸浮窗圖表
選中圖表,選擇圖表屬性表-特效>互動屬性,點選超級連結下的“+”,新增一個圖表超鏈-懸浮窗圖表,定義視窗標題及大小,如下圖:
點選管理圖表型別,選擇折線圖,如下圖:
點選圖表資料,圖表資料來源於資料集資料,資料集為ds2,分類軸為Province,系列設定選擇欄位值作為系列名稱,系列名稱為Month,系列值為Amout,彙總方式為求和。