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]))