2014年9月10日 星期三

QlikView 語法攻略 - Aggr 進階彙總函數

Aggr 進階彙總函數

其實這個函數用很簡單的比喻就是像是SQL 的Group By 的感覺,舉個例子:


 原始資料的列表:














Count 各Sales 有多少個客戶










Aggr彙總出上一步驟中Count 各Sales 有多少個客戶的值,所以下表即呈現1,2,3,5
而解釋下表就是;
賣出一個客戶的sales 有2個,賣出2個客戶的Sales 有1個







以上大家應該可以有解單的了解了,接下來我們來進階挑戰一下:

問題一, 如果我的欄位是CycleGroup 或是Drill-down 欄位呢, 那怎麼寫這變動的欄位呢?
解答: 
----------------------------------------------------------------------------------------------------------------------------
將欄位改為[$(=GetCurrentField(CycleGroup))] 即可
Aggr(count(Customer), [$(=GetCurrentField(CycleGroup))])

問題二 , 我不知道客戶是選擇了什麼欄位,如何變動判斷?
解答:
-------------------------------------------------------------------------------------------------------------------------------
此時我會建議大家利用字串組合的方式來達成這個目的,
如: 建立一個變數
變數 v_DimStrif(GetSelectedCount(SalesRep)>0,', SalesRep')&if(GetSelectedCount(Customer)>0,', Customer' ) 
修改語法變成 字串組合方式如下:
=$(='Aggrcount(Customer) ' & v_DimStr &' )'  )
特別注意:$(=’’) 是字串組合的意思

如此一來就能彈性動態的Aggr 進階彙總囉!!