如何實(shí)現(xiàn)點(diǎn)擊圖表1,圖表2顯示圖表1的關(guān)聯(lián)數(shù)據(jù),接著點(diǎn)擊圖表2,圖表3顯示圖表2的關(guān)聯(lián)數(shù)據(jù)又該如何實(shí)現(xiàn)呢,如下圖,下面詳細(xì)介紹該功能的實(shí)現(xiàn)步驟。
新建3個(gè)數(shù)據(jù)集作為3張圖表的數(shù)據(jù)源。
ds1:SELECT * FROM [銷量] where 1=1 ${if(len(地區(qū))==0,"","and 地區(qū)='"+地區(qū)+"'")}
ds2:SELECT * FROM [銷量] where 1=1 ${if(len(地區(qū))==0,"","and 地區(qū)='"+地區(qū)+"'")} ${if(len(銷售員)==0,"","and 銷售員='"+銷售員+"'")}
ds3:SELECT * FROM [銷量] where 1=1 ${if(len(地區(qū))==0,"","and 地區(qū)='"+地區(qū)+"'")} ${if(len(銷售員)==0,"","and 銷售員='"+銷售員+"'")} ${if(len(產(chǎn)品類型)==0,"","and 產(chǎn)品類型='"+產(chǎn)品類型+"'")}
· 數(shù)據(jù)源設(shè)置
新建3張圖表,柱形圖、餅圖、折線圖,其數(shù)據(jù)源分別為ds1,ds2和ds3,具體數(shù)據(jù)源設(shè)置如下圖:
· 交互屬性設(shè)置
點(diǎn)擊柱形圖時(shí),需要將柱形圖的分類軸傳遞給餅圖,作為餅圖數(shù)據(jù)源和折線圖數(shù)據(jù)源的一個(gè)參數(shù)值,點(diǎn)擊餅圖時(shí),需要將餅圖的系列名傳遞給折線圖作為折線圖數(shù)據(jù)源的參數(shù)值,如果類似圖表聯(lián)動(dòng)中的是兩個(gè)圖表之間的相互關(guān)聯(lián),則直接使用超級(jí)鏈接-聯(lián)動(dòng)單元格,但是此處折線圖需要接收來自柱形圖的分類軸值,而折線圖卻不是和柱形圖聯(lián)動(dòng),所以無法直接使用超級(jí)鏈接-聯(lián)動(dòng)單元格,我們可以使用超級(jí)鏈接中的動(dòng)態(tài)參數(shù),點(diǎn)擊柱形圖或餅圖的時(shí)候,動(dòng)態(tài)的給參數(shù)賦值,并且參數(shù)值一直存在,設(shè)置如下圖:
柱形圖
餅圖
· 參數(shù)界面設(shè)置
如最上面的效果圖,切換到參數(shù)設(shè)計(jì)界面,點(diǎn)擊右側(cè)下方面板的全部添加,將參數(shù)全部添加到參數(shù)面板中,如下圖:
地區(qū)參數(shù)的控件類型選擇下拉框,數(shù)據(jù)字典設(shè)置如下圖:
將銷售員和產(chǎn)品類型的控件以及標(biāo)簽設(shè)置為不可見,將銷售員和產(chǎn)品類型兩個(gè)參數(shù)的控件添加上去主要是為了在預(yù)覽一次報(bào)表之后,重新選擇地區(qū)時(shí),可以重置銷售員和產(chǎn)品類型兩個(gè)參數(shù)。
點(diǎn)擊分頁預(yù)覽,效果如上圖。
了解Java報(bào)表工具就從這里開始