【问题标题】:Qlik Sense IfNum combined with If StatementQlik Sense IfNum 与 If 语句相结合
【发布时间】:2017-10-08 20:47:16
【问题描述】:

我正在尝试在存在数字且该数字大于 0 的列上运行 AVG,该列包含混合数据,大多数字段都会有一个数字,但一些信用结果返回 NA 或 DNR。

以下表达式检查为 OK,但不返回任何值。我知道 AVG 表达式可以正常工作,因为我已经在干净的数据上使用了它。我相信错误来自 IsNum

=if(IsNum(Credit) = '-1', Avg({< [Credit] = {"<>0"} >} [Credit]), (Credit))

【问题讨论】:

  • 是否需要r 标签?
  • 是的,为什么是 r 标签?

标签: qlikview qliksense


【解决方案1】:

在您的脚本中创建附加列可能会更好,指示Credit 值是否为数字。

if( isNum(Credit), 1, 0 ) as isNumberCredit

在这之后你的表达变得简单了。

avg( {&lt; isNumberCredit = {1} &gt;} Credit )

avg( Credit * isNumberCredit )

使用这种方法会降低更大数据集的性能。

【讨论】:

  • 我应该在哪里加载 if 语句?
  • 在加载数据时的加载脚本中
  • 这就是我尝试但重新调整了一堆错误The following error occurred: Unexpected token: ',', expected one of: ')', 'OPERATOR_PLUS', 'OPERATOR_MINUS', 'OPERATOR_MULTIPLICATION', 'OPERATOR_DIVISION', 'OPERATOR_STRING_CONCAT', 'like', ... The error occurred here: if( isNum(Credit)&gt;&gt;&gt;&gt;&gt;&gt;,&lt;&lt;&lt;&lt;&lt;&lt; 1, 0 ) as isNumberCredit
  • if( isNum(Credit) = -1, 1, 0 ) as isNumberCredit 你试试这个?
  • 我得到了第一个建议,我必须将Load 添加到数据加载编辑器中脚本选择的顶部。看起来很成功,但仪表板的其余部分现在显示“不完整的可视化”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-05
  • 2018-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多