Spotfire:CrossTable 中的 UniqueSum
Spotfire: UniqueSum in CrossTable
有没有办法将 CrossTable 中的多table 数据与 Sum 聚合一起使用?示例数据如下所示:
UniqueCount(actid) 聚合与连接数据完美结合:
但我必须为每个单元格计算 [bdg] 列的总和,并且每个不同 [actid] 的值应该计算一次。当简单地使用 Sum(bdg) 时,预期值计算不正确:
在这种情况下,突出显示的值应为 1010 和 1110。
有没有人知道如何让它按要求工作?也许有一些方法可以使用相关数据 tables 或实现 "UniqueSum" 聚合...
提前致谢
右键单击 Sum(bdg) 属性 并选择 自定义表达式...
试试这个:
总和([bdg])超过([actid])
这应该在 actid 上分割数据。否则在那里玩,直到你得到你想要的。以下是关于 OVER 函数的更多信息:
http://stn.spotfire.com/spotfire_client_help/ncfe/ncfe_over_functions.htm
终于找到所需的解决方案。
首先,添加几个计算列以使每个唯一 [actid]:
的单行仅具有 [bdg] 值
排名:Rank(RowId(),"desc",[actid])
bdg_unq: If([rank]=1,[bdg],null)
然后我们可以使用下面的表达式作为交叉table中的聚合:
Sum([bdg_unq]) over (Intersect(All([Axis.Rows]),[Axis.Columns],[actid]))
有没有办法将 CrossTable 中的多table 数据与 Sum 聚合一起使用?示例数据如下所示:
UniqueCount(actid) 聚合与连接数据完美结合:
但我必须为每个单元格计算 [bdg] 列的总和,并且每个不同 [actid] 的值应该计算一次。当简单地使用 Sum(bdg) 时,预期值计算不正确:
在这种情况下,突出显示的值应为 1010 和 1110。
有没有人知道如何让它按要求工作?也许有一些方法可以使用相关数据 tables 或实现 "UniqueSum" 聚合...
提前致谢
右键单击 Sum(bdg) 属性 并选择 自定义表达式...
试试这个:
总和([bdg])超过([actid])
这应该在 actid 上分割数据。否则在那里玩,直到你得到你想要的。以下是关于 OVER 函数的更多信息:
http://stn.spotfire.com/spotfire_client_help/ncfe/ncfe_over_functions.htm
终于找到所需的解决方案。 首先,添加几个计算列以使每个唯一 [actid]:
的单行仅具有 [bdg] 值排名:Rank(RowId(),"desc",[actid])
bdg_unq: If([rank]=1,[bdg],null)
然后我们可以使用下面的表达式作为交叉table中的聚合:
Sum([bdg_unq]) over (Intersect(All([Axis.Rows]),[Axis.Columns],[actid]))