我有一个包含6个类别的条形图,例如禁止,限制,高,非常高,中等,低。在我的加载脚本中,我创建了一个订单列,用于对图表中的条形图进行排序,如下所示:
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语句中的顺序。
答案 0 :(得分:3)
在图表"属性 - >排序" 使用"表达"作为排序顺序并使用此表达式:
max({1} COL_SORT)
答案 1 :(得分:1)
dual()函数可以做你想要的。 Dual为维度的每个元素指定一个数值。 QlikView在内部使用它来对月份和日期名称进行排序。重要提示,在脚本中分配订单后,您需要将图表中的排序顺序设置为数字。
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