charts - QLikVIew 对另一个计算维度中的计算维度的引用

标签 charts reference scripting qlikview

是否可以在数据透视表的另一个计算维度中引用一个计算维度? ValueList() 可以用于此用途吗?它的适当语法是什么?

我无法为此使用脚本,也无法创建新变量。

我无法将第一个计算维度的整个表达式复制到第二个计算维度的表达式中,因为这两个表达式都非常昂贵 (pick(match(...))。

谢谢

最佳答案

遗憾的是,没有明显的方法可以在其他计算维度中引用其他计算维度。正如您提到的,您只能创建表达式解决方案,那么我使用变量的其他建议在这种情况下不适用。

因此看来您必须重复计算的尺寸。

我想说,如果您确实必须使用表达式解决方案,那么可能值得尝试尽可能地优化您的计算维度,这样当您必须在文档中重复它时,它对系统的额外影响应该可以忽略不计。性能。

ValueList 对于生成维度值很有用,但我认为它对您没有帮助,因为您仍然无法使用它引用其他计算维度。它实际上是为计算维度生成值而设计的,并具有以下语法:

ValueList(value {, value })

例如,我可以使用:

=ValueList('Category A','Category B','Category C')

如果我将其放入数据透视表图表中,我将获得:

QlikView Table demonstration of ValueList

如您所见,对于 ValueList 提供的每个条目,表达式的值都会重复。然而,ValueList 有一个很好的技巧,这意味着您还可以在表达式中使用它来根据它显示的维度值来显示不同的值。

例如,如果我使用以下内容作为表的表达式:

=if(ValueList('Category A','Category B','Category C')='Category A',
    sum(Value * 10),
    if(ValueList('Category A','Category B','Category C')='Category B',
        sum(Value * 100),
        sum(Value * 1000)
      )
    )

在这里您可以看到,我添加了一个测试来查看我们是否处于“类别 A”,然后显示值 sum(Value * 10),然后显示“类别 B”,sum(Value * 100) 等等,结果是:

QlikView Table demonstration of ValueList in the expression

关于charts - QLikVIew 对另一个计算维度中的计算维度的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24648998/

相关文章:

javascript - 我的图表不会实时更新 - 在 Chart.js 和 Javascript 中完成

javascript - 带有过滤器和 DataView 的 Google 可视化仪表板

android - 如何使用 MPAndroid 绘制平滑的折线图,避免三次贝塞尔曲线出现错误值?

c# - 'System.Runtime.InteropServices.SafeHandle'和 'System.Runtime.InteropServices.dll'中都存在 'System.Runtime.Handles.dll'类型

c++ - 为什么在返回ostream类时使用引用?

linux - 如何在 bash 脚本的环境变量中存储 grep 的 --exclude 参数

asp.net 雷达图。显示线条而不是填充区域

c++ - 根据自定义 Iterator<T> 将返回值定义为 * 或 &

scala - Scala 是否可以在脚本中提供类型检查?

linux - 按 ID 拆分内容(第一列)并根据格式生成新的数据文件