2017-02-14 88 views
1

我試圖呈現最大總和(持續時間)值超出6臺與不同總和(持續時間)不同的機器: 機1:200 機2:300 機3:400 機4 :500 機5:600 機6:700QlikView的最大AGGR值

當我使用: 最大(總AGGR(薩姆(持續時間),機號)),這是結果:

機1:700 機2 :700 機器3:700 機器4: 700 機5:700 機6:700

如果我使用 MAX(匯聚(總和(持續時間),機號)) 和以前一樣,但沒有 「總」,我得到這個:

機1:200 機2:300 機3:400 機4:500 機5:600 機6:700

我期望的結果是僅示出一個最大值的曲線圖: 梅欽e 6:700

你能幫忙嗎?謝謝!

+0

請添加一些數據,以便我們更好地理解請求 –

+0

對不起!我無法很好地格式化文本。希望這有助於,謝謝! –

回答

2

在Qlik中,我相信唯一的方法就是使用計算的維度。這個想法是設置一個維度,只有在滿足條件時才顯示值。在你的情況下,這個條件是機器的持續時間是所有機器的最大時間。

計算尺寸(縮進提供意見):

=if(
    //check each machine's sum(duration) against the maximum sum(duration) for all machines 
    aggr(sum(Duration),MachineID) >= max(total aggr(sum(Duration),MachineID)), 

    //if >= max, use MachineID as the dimension 
    MachineID, 

    //if < max display nothing 
    null() 
) 

未註釋(複製/粘貼)版本:

=if(aggr(sum(Duration),MachineID) >= max(total aggr(sum(Duration),MachineID)), MachineID, null()) 

一個重要的情況是,以確保您檢查在您的維度上勾選「值爲空時取消」複選框。這是必需的,所以我們可以強制此計算的維度充當過濾器。

另一個技巧是去你的表格/圖表的演示選項卡,選擇您所創建的計算尺寸並選中「隱藏列」單選按鈕。由於我們只將計算的維度用作過濾器,而不是實際的列名稱,因此我們可以隱藏它。

完成後,您的尺寸將爲:MachineID和上面列出的計算尺寸。你的表達/測量將只是sum(duration)

我發現Qlik是在過濾通過表情輸出/值的區域通常弱。上述過程的工作,但對於東西是很常見的許多領域,當你有多個計算尺寸像這樣在一個圖表此變得勢不可擋。

使用滑塊來設置的閾值,而不是最大的一個類似的問題參見here

+0

它工作!驚人!謝謝 –