多个级别的Spotfire Sum

时间:2016-12-01 15:45:27

标签: analytics tibco spotfire

我有一个费用文件,其中包含每位与会者的单独记录,但重复总费用金额。

Employee    Report ID   Transaction Date    Vendor           City/Location  Expense Type    Approved Amount Attendee Name
John Smith  A           4/20/2016           UNITED AIRLINES  NYC            Airfare         317.1           Jane smith
John Smith  A           4/20/2016           UNITED AIRLINES  NYC            Airfare         317.1           jack smith
John Smith  A           4/20/2016           UNITED AIRLINES  NYC            Airfare         317.1           tom white
John Smith  A           4/20/2016           Bar and Grill    NYC            Dinner          94.74           kelly thompson
John Smith  A           4/20/2016           Bar and Grill    NYC            Dinner          94.74           joan ellen
John Smith  A           4/20/2016           Bar and Grill    NYC            Dinner          94.74           albert coals

我需要按城市总计费用总额而不重复费用金额。我在城市上进行交叉表时尝试了以下自定义表达式:

Sum(max([Approved Amount]) over (Intersect([Transaction Date],[Vendor])))

但这导致了

City  Amount
NYC   1235.52

我正在寻找像

这样的结果
City  Amount
NYC   411.84

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

@ cookiemnstr247 - 请测试下面的解决方案并让我知道它是否有效。

第1步:已插入的计算列'排名'

Rank([Approved Amount],"desc",[Employee],[Transaction Date],[City/Location],[Vendor],"ties.method=first")

第2步:插入另一个计算列' sumvalue'

If([Rank]=1,[Approved Amount],0)

第3步:创建一个交叉表,如下面的屏幕截图所示

enter image description here

我已经用不同的场景测试了这个解决方案,它看起来很稳定。

注意:在这种情况下,员工,交易日期,城市/位置和供应商仅用于分组。如果您想要添加更多列进行分组,请将其添加到排名列