【问题标题】:Reference textbox from chart expression in QlikView从 QlikView 中的图表表达式引用文本框
【发布时间】:2016-03-15 04:43:49
【问题描述】:

请告知(语法)如何在 QlikView 中引用文本对象以选择其值。

我的对象被称为:TX1,它是一个文本框,它的定义如下: =SUM( TOTAL Income)

我为什么需要这个?

我有一个以 Persons 为维度的图表,表达式应该计算 each person's income/total income

total income 需要从具有备用状态的文本框中获取,因此它不受过滤器选择(或强制将总收入视为属于每个人的总收入的维度)的影响。

谢谢。

【问题讨论】:

  • 我试过这个,但不幸的是变量没有备用状态,所以它不起作用。如果知道如何从图表表达式中引用 TX1,那就太好了。我试过 Object.TX1,Objects(TX1)... 到目前为止没有运气。语法是困扰我的地方。非常感谢 oGeez!
  • oGeez,如果您为其设置了不同的备用状态并且在该备用状态下不进行任何选择,则不会。您可以将备用状态添加到文档设置中,然后设置对象以使用对象属性中的该状态 - 常规。
  • 我现在明白了。您能否在打开文档时先设置该值,然后再参考它? (见答案)
  • 我会在 Set Analysis 表达式中使用备用状态:sum(income)/sum({[AltStateGroup]} total income)

标签: qlikview


【解决方案1】:

您在仪表板中所做的任何选择都会对文本框中显示的关系数据产生影响。

但是,您可以存储表达式的初始值并保留以供以后使用。

创建一个名为vInitialSum 之类的变量,并在打开文档时设置它。然后,您将拥有未触及(未过滤)的 =SUM("Total Income") 值供您随意使用。

在设置 > 文档属性 > 触发器 > OnOpen 中添加触发器:

【讨论】:

  • 谢谢 oGeez,但我一直在寻找一个固定值,在解决方案中,您建议该变量稍后根据更改过滤器更改值。无论如何,我都需要保留价值。在这里可以工作的还有在脚本中设置变量,但我也不知道这种情况下的语法。它应该类似于 Set v1 = SELECT SUM([Income]) from Table1;但是当我这样做时,变量值设置为SELECT SUM([Income]) from Table1,而不是该选择语句的实际结果。
  • 嗨 Samy,以这种方式设置变量将在运行时为变量提供实际值,而不是表达式。您在会话期间所做的任何选择都不会对已分配的值产生任何影响,只要您在 OnOpen 触发器中分配它。
【解决方案2】:

就用这个吧:

 SUM({1}Income)

“{1}”告诉公式忽略任何选择并在整个数据集上进行计算。更多详情请参见帮助中的“集合分析”和“集合修饰符”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 2015-11-22
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多