Spotfire несколько операторов over в одном настраиваемом выражении

У меня есть таблица командировочных расходов для анализа.

Я хотел бы создать вычисляемый столбец со значением максимального количества записей с определенной категорией для каждого сотрудника в любой день.

Например, если рассматривается категория «ужин», мы хотели бы знать, какое максимальное количество транзакций с ужином взимается в любой день.

Следующее настраиваемое выражение могло подсчитать, сколько расходов на обед на одного сотрудника:

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

Кажется, это дает тот же ответ, что и первое выражение. Есть идеи, как получить этот код для определения стоимости на дату с наибольшими расходами для каждого сотрудника?


person cookiemnstr247    schedule 17.10.2017    source источник
comment
как вы это отображаете, или вы просто хотите, чтобы это было в исходной таблице? У вас есть столбец даты?   -  person scsimon    schedule 17.10.2017
comment
Я хотел бы выполнить расчет в исходной таблице (я понимаю, что каждая запись для этого сотрудника будет иметь одинаковое значение, но это намерение). Да, это значение [Дата транзакции] во втором выражении.   -  person cookiemnstr247    schedule 17.10.2017


Ответы (1)


Если я правильно понимаю ваш вопрос и комментарии, вы сможете использовать перекресток.

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

Возможно, вам потребуется преобразовать [Transaction Date] в качестве даты, если это фактическое DateTime. В противном случае вы получите по одному для каждого уникального DT.

person scsimon    schedule 17.10.2017