在一个自定义表达式中 spotfire 多个 over 语句

spotfire multiple over statements in one custom expression

我有一份table的差旅费供分析。

我想创建一个计算列,该列的值是每个员工在任何给定日期的特定类别的最大记录数。

例如,如果正在审查的类别是 "dinner",我们想知道在任何一天收取的最大晚餐交易次数是多少。

以下自定义表达式能够计算每个员工的晚餐费用:

count(If([Expense Type]="Dinner",[Expense Type],null)) over ([Employee])

但是当我试图在几天内获得最大计数时,我似乎无法让它工作。这是使用的表达式:

Max(count(If([Expense Type]="Dinner",[Expense Type],null)) over ([Employee])) over (Intersect([Employee],[Transaction Date]))

这似乎提供了与第一个表达式相同的答案。关于如何获取此代码以确定每位员工费用最多的日期的值,您有什么想法吗?

如果我正确理解你的问题和评论,你应该可以使用 intersect。

count(If([Expense Type]="Dinner",[Expense Type],null)) over (Intersect([Transaction Date],[Employee]))

如果 [Transaction Date] 是实际的日期时间,您可能需要将其转换为日期。否则,您会为每个唯一的 DT 获得一个。