Qlik Sense是一個簡單到連一般使用者都可以用的BI軟體(或稱為資料視覺化的工具)
而set analysis這個語法感覺超複雜的,之前每次都看不懂,因為太複雜了,今天有時間卯起來研究一下。
簡單說就是在同一張銷售分析圖表中,我想要比較兩個不同地區的銷售,例如北美和南美,我可以做兩張圖表,但我點了北美,兩個回表都呈現北美,點了南美,兩個回表都呈現南美,永遠都秀同一個地方,如下圖:
兩張圖表數字都一樣,該如何秀出不同地區呢?這就要介紹set analysis了,
基本語法是
Aggregation((set identifier) field)
總合函數((設定識別符) 欄位名稱)
以Sales欄位為例,你可以試試看
sum( {$} Sales )
依照你現在選擇的銷售額加總, 等同於sum(Sales)
這個效果跟平常一樣,就不特別秀出
sum( {1} Sales )
秀出整個應用程式中全部加總的銷售額,不管你選什麼選項,它都保持不變。
如下圖的下半部,我選了一個客戶,但這裡依然秀出全部客戶的加總,即使我選其他年份、季度,仍然是秀全部的銷售額。
sum( {$1} Sales )
這個語法超特別,返回先前選擇的銷售額,就是它會顯示上一個選擇的銷售額,如下圖:
我一開始只選擇2009年的銷售額,上半部依我所選的呈現
而當我加選了EMEA這個地區的銷售額(就是2009年的EMEA),下半部則呈現2009年的銷售額(就是上一個選項):
這功能可以拿來當作簡單的比較,但對於不知道這個功能的主管,很難記得可以這樣操作,而且仍無法呈現兩個不同地區的資料。
加強版的語法
Aggregation ({set_identifier}field)
總合函數({設定識別符 } 欄位)
這樣就可以指定固定的欄位值了,以下各種語法的結果如下(上半部是原始加總設定,下半部是set analysis語法呈現結果):
Sum({1}LineSalesAmount)
秀出EMEA加總, 如果點擊其他變數, 例如點年份,都不會影響,它依舊呈現EMEA全部銷售額
Sum({$}LineSalesAmount)
秀EMEA加總, 我點其他變數, 圖表會跟著變動, 但如果我點其他Divison, 它不會跟著變動
(注意:本語法和前一個的差異,只有1變成$而已)
Sum({$}LineSalesAmount)
我選什麼DivisionName, 它都不會動, 永遠秀所有Division的銷售額加總,如果點其他維度,才會跟著變動
Sum({$}LineSalesAmount)
EMEA是指歐洲、中東、美洲,我設定EMEA跟南美, 選到區域內的國家會跟著動, 選到美國, 加拿大等不在區域內的話,不會顯示, 而選擇年份和地區以外的其他維度的話,都會跟著變動,如下圖:
還沒做任何選擇之前,它已經限縮在2014年的EMEA和南美的資料了:
下圖是我故意選擇加拿大,因為它不在EMEA和南美,所以不會顯示
sum ( {$ } LineSalesAmount)
注意看我前面有個減號,而"*3″表示以3為結尾的年份(只有2013o年),它會包含全部的值, 但不包含2013年的值, 選別的年份, 它不受影響, 但選別的維度, 會跟著變動,如下圖:
sum ( {$ } LineSalesAmount)
包含全部的值, 但不包含A開頭的客戶, 選任何別的客戶, 不受影響, 但選別的維度, 圖表會跟著變動, 下面可以看到上下兩圖有些微的差異, 就是因為少了A開頭的客戶的銷售額:
sum ( {$ } LineSalesAmount)
只包含2011,2013的值, 選別的年, 不受影響,但選別的維度, 圖表會跟著變動
sum ( {$ 2011} LineSalesAmount)
這個我第一次看到還真的傻掉!有這麼奇怪的語法啊~~
其實就是只包含2012的值, 選別的年, 不受影響,但選別的維度, 圖表會跟著變動
好了,以上介紹到這裡,希望各位Qlik Sense的使用者可以看得懂啊~~呵呵!!