У меня есть панель инструментов, где я могу выбрать разные склады в качестве среза данных, а затем получить среднее количество дней, в течение которых доставка задерживалась.
Теперь на графике я хочу показать по умолчанию среднюю линию на всех складах и в зависимости от c склада, выбранного пользователем.
Для расчета KPI мне нужно учитывать только те строки, для которых была отложена доставка по сравнению с их ожидаемой датой доставки.
То, как я это сделал, было использовать:
Helper Measure:
is_late = if(DATEDIFF(min(expected_delivery_date),min(delivery_date),Day) >0,1,0)
Real Measure:
AVERAGEX(CALCULATETABLE(
FACT_TABLE
,Filter(ALL('WAREHOUSES'),is_late =1)
DATEDIFF(expected_delivery_date,delivery_date,Day))
ALL игнорирует выбранные склады, но фильтр is_late = 1 тогда не работает, и он берет среднее значение по всем строкам, даже если было без задержки.
Как ни странно, он не показывает результата в строках, где не было задержки, и когда я добавляю неправильную меру, где я не фильтрую по is_late = 1, вы можете видеть, что я получаю тот же результат, не учитывая некоторые небольшие ошибки округления.
введите описание изображения здесь