2017-10-04 54 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