陈凯歌 男同 Qlik Cloud
裸字段援用在该页面上务必在抒发式中使用团聚函数幸免裸字段援用
若是字段未包含在团聚函数中陈凯歌 男同,则将其视为裸字段。
裸字段援用是一个数组,可能包含多个值。若是是这么,Qlik Sense 将把其评估为 NULL,不知谈您需要这些值中的哪些。
务必在抒发式中使用团聚函数若是发现抒发式的计算不正确,则很有可能它莫得团聚函数。
抒发式中的字段援用是值的数组。举例:
必须将字段发票日历括在团聚函数中,使其回荡为单个值。
若是不合抒发式使用团聚函数,则默许情况下 Qlik Sense 将使用 Only() 函数。若是字段援用复返多个值,Qlik Sense 将把它讲授为 NULL。
其实是香蕉在线视频观看 使用 If() 函数拆分发票日历If() 函数频繁用于条款团聚。它复返一个值,具体取决于函数内提供的条款的计算恶果是 True 已经 False。
在哄骗要领内,在 Naked field references使命表上您将找到标题为 Using If() on Invoice dates 的表格。
实施以下操作:
选拔标题为 Using If() on Invoice dates 的可用表格。属性面板大开。 单击添加列并选拔度量。 单击 符号。抒发式裁剪器大开。 输入以下推行: If( [Invoice Date]>= Date(41323), 'After', 'Before' ) 单击哄骗。
该抒发式测试 Invoice Date 是否在参考日历 2013 年 2 月 18 日之前,若是是则复返 'Before'。若是日历晚于或等同于参考日历 2013 年 2 月 18 日,则会复返 'After'。参考日历示意为整数 41323。
干系更多信息,请参阅 if - 剧本和图表函数
幸免裸字段援用初看之下,该抒发式没什么问题。
If([Invoice Date]>= Date(41323) 'After', 'Before')
它应当计算援用日历之后的发票日历,复返 'After' 或复返 'Before'。然则,Invoice Date 是裸字段援用,莫得团聚函数,因此是具罕有个值的数组,况且将计算为 NULL。在上一示例中,咱们表格中每个 Date 值仅有一个 Invoice Date,因此抒发式的计算没什么问题。
让咱们望望近似的抒发式如安在不同的维度值下计算,以及怎样处罚裸字段援用问题:
在 If() 函数中幸免裸字段援用咱们将和之前雷同使用相似的抒发式:
If([Invoice Date]>= Date(41323), Sum(Sales))
这一次,函数对参考日历之后的销售额乞降。
在哄骗要领内,在 Naked field references 使命表上您将找到标题为 Sum(Amount) 的表格。
实施以下操作:
选拔可用的 Sum(Amount) 表格。属性面板大开。 单击添加列并选拔度量。 单击 符号。抒发式裁剪器大开。 输入以下推行: If( [Invoice Date]>= 41323, Sum(Sales) ) 单击哄骗。
关于每一年,齐有一个在参考日历之后的发票日历数组。由于咱们的抒发式零落团聚函数,其将计算为 NULL。正确的抒发式应当在 If() 函数的第一参数中使用团聚函数,诸如 Min() 或 Max():
If(Max([Invoice Date])>= Date(41323), Sum(Sales))
实施以下操作:
单击添加列并选拔度量。 单击 符号。抒发式裁剪器大开。 输入以下推行: If( [Invoice Date]>= Date(41323), Sum(Sales) ) 单击哄骗。
大意,不错将 If() 函数置于 Sum() 函数内:
Sum(If([Invoice Date]>= Date(41323), Sales) )
实施以下操作:
单击添加列并选拔度量。 单击 符号。抒发式裁剪器大开。 输入以下推行: Sum( If([Invoice Date]>= Date(41323), Sales ) ) 单击哄骗。
在第二个到终末一个抒发式中陈凯歌 男同,If() 函数按每个维度值计算一次。在终末一个抒发式中,它在原始数据中每行计算一次。函数运算形势的不同导致恶果不同,但两者齐复返一个谜底。第一个抒发式径直运算为 NULL。上图清楚了两个抒发式之间的相反,使用 2013 年 2 月 18 日行为参考日历。