Вычисление среднего значения столбца, который может иметь значения NULL в OBIEE - PullRequest
0 голосов
/ 10 июля 2019

В отчете о продажах в OBIEE мне нужно рассчитать среднемесячное значение за пару лет.Проблема в том, что в некоторые месяцы нет зарегистрированных продаж, поэтому я не могу разделить годовой итог на 12, чтобы получить среднее значение.

Мы пытались использовать COUNT (DISTINCT), но он не работает должным образом.Я придумал очень грубую формулу, которая работает, но поскольку она использует CASES, она слишком медленная.Это моя формула:

IFNULL(FILTER("Sales"."Total") USING ("Calendar"."Year" = 2015)), 0) /
((CASE WHEN FILTER("Sales"."Total") USING ("Calendar"."Year" = 2015) AND ("Calendar"."Month" = 1)) IS NULL THEN 0 ELSE 1 END) + 
(CASE WHEN FILTER("Sales"."Total") USING ("Calendar"."Year" = 2015) AND ("Calendar"."Month" = 2)) IS NULL THEN 0 ELSE 1 END) + 
(CASE WHEN FILTER("Sales"."Total") USING ("Calendar"."Year" = 2015) AND ("Calendar"."Month" = 3)) IS NULL THEN 0 ELSE 1 END) + 
... 
(CASE WHEN FILTER("Sales"."Total") USING ("Calendar"."Year" = 2015) AND ("Calendar"."Month" = 12)) IS NULL THEN 0 ELSE 1 END)
)

Может кто-нибудь придумать формулу, которая выдаст тот же результат без использования CASES?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...