QV - 如何创建动态维度列

当我们使用Qlikview straight table来表现数据时,经常会遇到有很多的维度列或表达式列需要在表中表现出来,往往超出了屏幕的宽度而需要拖动滚动条,非常不方便。而实际上,并不是所有的列对于用户来说都是有意义的,甚至在不同的时期用户只关心其中某些列内的数据。但是,为了满足所有用户的需求,我们有时需要让所有的列对用户有效。如下图,

我们如何能让用户方便快捷的选择自己关注的列呢?答案是Dynamic Dimension。

1. 首先,我们先要对应这些维度(列)创建一个inline table,用以包括这些动态列的列名如下,

 

  首先要确保这个inline table中的字段名(SO_DIMENSIONS)不会和你的其它数据模型相关联,其次要保证其中的数据名字不会相互包含,这对于我们后面做显示判断相当重要。

2. 使用listbox展示这个列明表,其中使用多选模式。下图左边的列表就是用来用户选择显示列的列表。

3. 接下来我们开始配置动态列,使数据表中的列和上边建立的list相关联

首先打开straight table的属性,选择要配置的维度列,如下图,

  在Enable Conditional前面打钩,并编辑条件公式,

我来解释一下上图中的公式,首先我们用GetSelectedCount函数去判断列名那个字段是否有值被选,如果有值被选,我们用接下来的公式判断当前我们期望的列名是否被选择了。之所以要首先判断一下该字段是否被选择,是因为当一个字段如SO_DIMENSIONS没有任何值被选择时Concat(SO_DIMENSIONS,'|')返回所有选项的连接组合,这样所有的动态列都会被显示。

4. 这样我们就大功告成了,看一下成果吧

 

 

转载于:https://www.cnblogs.com/ITPCBI/p/3483791.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值