Около недели бьюсь над задачей. Данные как в sample.
Нужно создать когорту на основе оборота по клиенту исходя из выбранных фильтров и видимых полей сводной таблицы.
Мои идеи:
1) Оборот = SUM(Turnover)
2) Оборот на клиента = SUMX(VALUES(ID клиента);CALCULATE([Оборот))
3) Когорта = SWITCH(TRUE();
[Turnover on client]<2000;"0-2000";
AND([Оборот на клиента]>= 2000;[Оборот на клиента]<4000);"2000-4000";
AND([Оборот на клиента]>= 4000;[Оборот на клиента]<6000);"4000-6000";
AND([Оборот на клиента]>= 6000;[Оборот на клиента]<8000);"6000-8000";
[Оборот на клиента]>= 8000;"8000+")
Получаю половинчатый результат. Часть строк группируется корректно, часть нет.
Оборот на клиента считается корректно в зависимости от выбранных фильтров и видимых полей сводной таблицы, но поле Когорта считает не на основе агрегированных данных а на отдельных строках или как пойдет. В прямом смысле. Часть может посчитать корректно, часть нет.
Не должно быть такого:
Клиент 1, Сервис 1, когорта "0-2000" = $1900
Клиент 1, Сервис 1, когорта "6000-8000" = $6200
Клиент 1, Сервис 2, когорта "8000+" = $9200
Должно выйти:
Клиент 1, Сервис 1, когорта "8000+" = $8100
Клиент 1, Сервис 2, когорта "8000+" = $9200
Нужно создать когорту на основе оборота по клиенту исходя из выбранных фильтров и видимых полей сводной таблицы.
Мои идеи:
1) Оборот = SUM(Turnover)
2) Оборот на клиента = SUMX(VALUES(ID клиента);CALCULATE([Оборот))
3) Когорта = SWITCH(TRUE();
[Turnover on client]<2000;"0-2000";
AND([Оборот на клиента]>= 2000;[Оборот на клиента]<4000);"2000-4000";
AND([Оборот на клиента]>= 4000;[Оборот на клиента]<6000);"4000-6000";
AND([Оборот на клиента]>= 6000;[Оборот на клиента]<8000);"6000-8000";
[Оборот на клиента]>= 8000;"8000+")
Получаю половинчатый результат. Часть строк группируется корректно, часть нет.
Оборот на клиента считается корректно в зависимости от выбранных фильтров и видимых полей сводной таблицы, но поле Когорта считает не на основе агрегированных данных а на отдельных строках или как пойдет. В прямом смысле. Часть может посчитать корректно, часть нет.
Не должно быть такого:
Клиент 1, Сервис 1, когорта "0-2000" = $1900
Клиент 1, Сервис 1, когорта "6000-8000" = $6200
Клиент 1, Сервис 2, когорта "8000+" = $9200
Должно выйти:
Клиент 1, Сервис 1, когорта "8000+" = $8100
Клиент 1, Сервис 2, когорта "8000+" = $9200