1. 概述
1.1 應用場景
組件中不包含日期欄位,希望可以透過過濾組件篩選日期獲得該日期的所在自然月的同環比情況。
本文所對比的是自然月的同環比,若使用者想消除月份的天數差異,例如想對比 7 月份 1-30 號 與 6 月份 1-30 號,可參考:使用日期區間過濾展示同比環比
例如
在日期過濾組件中輸入「2014-03-01」,組件中自動篩選出各個省份 2014 年 3 月的合同金額,並計算出 3 月合同金額的同比環比。如下圖所示:
1.2 實現思路
透過新增不綁定欄位的日期過濾組件和計算指標共同實現。
本文使用於自然月的同環比計算。
2. 操作步驟
2.1 新增組件
建立分析主題,將內建資料「省市簽約資料統計」新增進分析主題中,如下圖所示:
然後建立組件,使用該資料,如下圖所示:
2.2 建立參數
由於我們要計算篩選的可以動態變化的同環比,因此需要使用參數來實現動態。
在組件編輯介面新增時間類型的參數,如下圖所示:
生成參數存放在待分析區域,如下圖所示:
2.3 計算當月、上月、去年同期的合同總價
同比=(當月合同總價-去年同期合同總價)/去年同期合同總價*100%
環比=(當月合同總價-上月合同總價)/上月合同總價*100%
所以要求月同比和月環比,我們需要「當月合同總價」、「去年同期合同總價」、「上月合同總價」三個新欄位。這三個新欄位都需要綁定我們建立立的參數。步驟如下:
2.3.1 計算「當月合同總價」
1)複製「合同總價」欄位,並將其命名為「當月合同總價」。
2)對「當月合同總價」欄位進行明細過濾。過濾實現的效果為:對合同總價進行篩選,得到日期過濾組件所選日期當月的資料。
2.3.2 計算「去年同期合同總價」
1)複製「合同總價」欄位,並將其命名為「去年同期合同總價」
2)對「去年同期合同總價」欄位進行明細過濾。過濾實現的效果為:對合同總價進行篩選,得到日期過濾組件所選日期一年前全月的資料
2.3.3 計算「上月合同總價」
1)複製「合同總價」欄位,並將其命名為「上月合同總價」
2)對「上月合同總價」進行明細過濾。過濾實現的效果為:對合同總價進行篩選,得到日期過濾組件所選日期上月的資料。
2.4 計算同比環比
上面已經將計算同比環比所需要的欄位計算出來了,接下來就可以計算同比環比。
2.4.1 計算「同比」欄位
新增同比計算欄位,輸入公式:if(ISNULL(sum_agg(去年同期合同總價)),null,(sum_agg(當月合同總價)-sum_agg(去年同期合同總價))/sum_agg(去年同期合同總價))
這裏我們將公式拆分成兩部分方便使用者理解:
公式分解 | 描述 | 說明文檔 |
---|---|---|
if(ISNULL(sum_agg(去年同期合同總價)),null,同比) | 若「去年同期合同總價」沒有值,那麼該「同比」欄位為空,否則計算同比值。 | |
同比=(sum_agg(當月合同總價)-sum_agg(去年同期合同總價))/sum_agg(去年同期合同總價) | 計算同比值。 | SUM_AGG-求和 |

2.4.2 計算「環比」欄位
新增環比計算欄位。,輸入公式:if(ISNULL(sum_agg(上月合同總價)),null,(sum_agg(當月合同總價)-sum_agg(上月合同總價))/sum_agg(上月合同總價))
這裏也將公式拆分成兩部分方便使用者理解:
公式分解 | 描述 | 用到的函式 |
---|---|---|
if(ISNULL(sum_agg(上月合同總價)),null,環比) | 若「上月合同總價」沒有值,那麼該「環比」欄位為空,否則計算環比值。 | |
環比=(sum_agg(當月合同總價)-sum_agg(上月合同總價))/sum_agg(上月合同總價) | 計算環比值。 | SUM_AGG-求和 |

2.5 製作分組表
所有欄位都計算完成後,做出一個圖表組件就很容易啦。
這裏我們做一個分組表,將欄位拖入分析區域,並將「同比、環比」的數值格式改為百分比。如下圖所示:
注:此處由於沒有選擇日期,因此同一省份當月、上月、去年同期的合同總價都相等,所以同比環比均為0,當日期過濾組件選擇日期後即顯示對應時間的同環比。
2.6 製作儀表板
1)建立儀表板,將組件新增至儀表板中,如下圖所示:
2)將日期過濾組件新增至儀表板,如下圖所示:
3)對過濾組件綁定參數,實現過濾組件篩選的日期即為我們建立的參數的動態日期,如下圖所示:
3. 效果查看
在儀表板中,篩選日期。就可以看到所選日期它當月的合同總價、上月的合同總價及環比、去年同期合同總價和同比。詳情參見本文應用場景。
注:如果是無效時間。組件顯示為空。