Как суммировать данные по категориям в Spotfire

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

Используя приведенные ниже данные, я хотел бы суммировать [X] только значения с синей категорией для каждого сайта.

На данный момент у меня есть Sum([X]) OVER [Site] --> Где/как мне указать квалификатор категории?

Пример данных


person NightLearner    schedule 18.04.2016    source источник


Ответы (2)


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

в любом случае попробуйте следующее:

Sum([X]) OVER (Intersect([Site], [Category]))

Чтобы сделать то же самое только для одной категории, вы можете использовать такое выражение, как

Sum(If([Category]="Blue",[X],0)) OVER ([Site])

Это оставит нулевое/пустое значение, когда [X] не «Синий» (с учетом регистра, будьте осторожны!).

Если у вас есть несколько значений, вы можете заменить условие на

If([X] in ("Blue", "Nurple", "Taupe"), ...)
person niko    schedule 18.04.2016
comment
Понятно, но как бы мне указать только категорию Blue? Я не хочу суммировать какие-либо данные из красной категории. Спасибо! - person NightLearner; 19.04.2016
comment
Ах хорошо, я неправильно понял. Я обновлю ответ через минуту. - person niko; 19.04.2016
comment
Нико, мне пришлось изменить ваше выражение, потому что оно не проходило, оказывается, это вариант того, что вы предложили, и то, что я нашел, работает лучше всего: Sum(If([Category]=Blue,[X],0)) КОНЕЦ ([Сайт]) Спасибо за первоначальный вклад, я получил большую часть пути! - person NightLearner; 19.04.2016
comment
это правильно. Извините; отправлено через мобильный телефон и до моего кофе! рад, что вы разобрались :) - person niko; 19.04.2016

то, что я нашел, работает лучше всего: Sum(If([Category]="Blue",[X],0)) OVER ([Site])

person NightLearner    schedule 19.04.2016