2017-10-04 53 views
1

我有一個包含6個類別的條形圖,例如,禁止,限制,高,非常高,中等,低。Qlikview:顯示0個酒吧但維持順序

if(COL = 'prohibited', 1, 
if(COL = 'restricted', 2, 
if(COL = 'very high', 3, 
if(COL = 'high', 4, 
if(COL = 'moderate', 5, 
if(COL = 'low', 6, 1)))))) AS COL_SORT 

我也有檢查「顯示所有值選項」,這顯示了0計數類:在我的負荷劇本我肚裏有點像在圖表中創建了酒吧的排序順序一列。我發現,只有部分的排序工作,如果我在每個類別中有量的順序工作,但如果有0個酒吧沒有保證排序工作。

我的問題是:有沒有辦法保證酒吧的順序,無論酒吧的數量是0還是更多?我工作的公司不會讓我上傳樣本數據,所以我明白,如果這樣做會讓嘗試幫助的人感到不安。

親切的問候

編輯:我想保持這個順序作爲if/else語句。

回答

3

在圖表「屬性 - >排序」 使用「表達」的排序順序,並使用這個表達式:

max({1} COL_SORT) 
1

雙()函數可以做你想做的。 Dual爲一個維度的每個元素分配一個數值。 QlikView內部使用它來排序諸如Months和Day名稱之類的東西。重要說明,在腳本中分配訂單後,您需要將圖表中的排序順序設置爲Numeric。

dual(COL, 
if(COL = 'prohibited', 1, 
    if(COL = 'restricted', 2, 
    if(COL = 'very high', 3, 
     if(COL = 'high', 4, 
     if(COL = 'moderate', 5, 
      if(COL = 'low', 6, 1))))))) AS COL