1. 概述
1.1 預期效果
當一個資料表中有幾個維度,例如「產品類型、產品、銷售員」,想要在一個圖表中動態展示這幾個維度的「銷量」值,即透過點選資料列的名稱,改變圖表的系列或分類,該如何實現呢 ?
預期效果如下圖所示:柱形圖的系列即圖例,根據點選的超連結,動態變化為超連結對應的資料列的值。
1.2 實現思路
首先讓表格資料根據「超級連結>動態參數」動態顯示資料列,然後圖表綁定資料時使用 儲存格資料源 即可。
這裏使用 資料集函式 中 tablename.group 這個方法來獲取資料列的值,其中的資料列名稱以動態參數的形式傳遞到函式中。
2. 範例-普通報表
2.1 準備資料
建立普通報表,建立資料庫查詢 ds1,SQL 查詢語句為:SELECT * FROM 銷量。
2.2 設計報表
2.2.1 設計表格
1)點選「範本>範本參數」,新增一個範本參數並重新命名為 col,表示列名。設定參數預設值為「產品類型」,那麼範本初始化時參數預設為「產品類型」。步驟如下圖所示:
2)儲存格設定如下表:
儲存格 | 內容 | 說明 |
---|---|---|
A1 | 普通正文:地區 | - |
B1 | 公式:=$col | 列名由參數 col 決定 |
C1 | 普通正文:銷量 | - |
A2 | 資料列:地區 | 作為圖表的分類軸資料 |
B2 | 公式:=ds1.group($col,,true) ,並設定右側屬性面板「儲存格屬性>擴展方向」為縱向擴展 公式說明:傳回 ds1 資料集中 $col 列的值,且相同資料會進行合併,結果為升冪排列 | 作為圖表的系列,即圖例,根據參數 col 動態變化 |
C2 | 資料列:銷量。並設定右側屬性面板「儲存格元素>基本>資料設定」為匯總求和 | 作為圖表的值 |
表格樣式如下圖所示:
2.2.2 設定動態參數
在表格下方的儲存格中,輸入要作為列名的幾個資料列名稱:產品類型、產品、銷售員。因為要新增的動態參數是一樣的,所以可以同時選中三個儲存格,點選右側屬性面板超級連結,新增「動態參數」,新增的參數名為 col,參數值為公式 =$$$。
注:點選該超級連結時,被點選的儲存格值就傳遞給參數 col,B1 儲存格則會顯示該參數的值,B2 儲存格則會顯示 ds1 資料集中該參數對應的資料列的值。
步驟如下圖所示:
2.2.3 插入柱形圖
1)在動態參數下方合併一片儲存格,插入圖表,圖表類型為柱形圖。圖表資料來源為「儲存格資料」,分類名為公式 =A2,系列名為公式 =B2,值為公式 =C2。
注:B2 儲存格會根據參數變化,故柱形圖的系列會根據參數變化。
步驟如下圖所示:
2)設定柱形圖示題
選中柱形圖,點選「儲存格元素>樣式>標題」,點選 F(x) ,輸入公式 =$col+" 銷量"。如下圖所示:
2.2.4 隱藏表格
將表格所在的第一行和第二行選中後,按滑鼠右鍵,選擇隱藏。如下圖所示:
2.3 效果預覽
2.3.1 PC 端
儲存範本,點選「分頁預覽」,效果如 1.1 節預期效果所示。
2.3.2 行動端
App 端和 HTML5 端均支援,效果如下圖所示:
3. 範例擴展
3.1 決策報表中如何設定
圖表和表格均在決策報表的報表塊中時,設定和普通報表完全一致。當表格使用報表塊,圖表在 body 中時,只需要注意圖表資料引用儲存格時公式需修改為:=report0~儲存格。如下圖所示:
3.2 分類動態變化如何設定
在綁定圖表資料時,將分類名的公式設定為動態變化的儲存格即可。例如將分類名改為=B2,將系列名改為=C1,即分類名根據參數動態變化,系列名為「銷量」。如下圖所示:
此時報表預覽效果如下圖所示: