Невозможно вычислить агрегацию агрегации в таблице - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь вычислить стандартное отклонение для вложенной вычисляемой меры.

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

Основные данные следующие (каждая строка представляет собой элемент, произведенный в определенную дату к определенной страна):

date         country    colour
-------------------------------
2020-03-01   France     Blue
2020-03-01   UK         Red
2020-03-02   USA        Green
2020-03-03   Belgium    Red
2020-03-04   UK         Green

Первые рассчитанные меры определяют все элементы, которые являются теплыми или холодными цветами:

WARM_COLOUR:
{INCLUDE [Colour]: SUM(If [Colour] = 'Red' or [Colour] = 'Orange' or [Colour] = 'Yellow' THEN 1 ELSE 0 END)}

COLD_COLOUR:
{INCLUDE [Colour]: SUM(If [Colour] = 'Blue' or [Colour] = 'Green' THEN 1 ELSE 0 END)}

Затем я вычисляю соотношение между теплыми и холодными цветами:

WARM_COLD_RATIO
sum([WARM_COLOR]) / (sum([WARM_COLOUR]) + SUM([COLD_COLOUR]))

Наконец, я хочу вычислить для каждой страны стандартное отклонение этого отношения, но это приводит к ошибке:

{INCLUDE [Country]: STDEV([WARM_COLD_RATIO])}
                    ^^^^^ Error: argument to STDEV is already an aggregation and can't be aggregated further

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

1 Ответ

0 голосов
/ 12 апреля 2020

Табличные расчеты не могут быть внутри вычислений LOD.

Есть ли причина, по которой это действительно должен быть LOD? Есть ли хорошие альтернативные формулы расчета таблиц, такие как WINDOW_STDEV?

WINDOW_STDEV([WARM_COLD_RATIO])
...