Мне нужна помощь для агрегирования результатов измерения, которое должен выбрать пользователь.
У меня есть таблица (DataDays) с данными о некоторых процессах, выполняемых некоторыми компаниями. Эти процессы имеют 6 фаз, и продолжительность каждой фазы в днях указывается в столбцах с D1 по D6. Даты начала и окончания каждой фазы обозначены A, B, C, D, E, F, G: A и B - даты начала и окончания фазы 1, соответственно, B и C - даты для фазы 2 и так далее. Цель состоит в том, чтобы позволить пользователю анализировать продолжительность подмножеств 6 фаз, выбирая даты начала и окончания требуемого подмножества, а затем группировать продолжительность по трем категориям и агрегируя результаты.
Для Например, фазы между датой C и F составляют подмножество фаз 3-4-5. Для каждого процесса в таблице продолжительность категории будет 1, 2 или 3 в зависимости от количества дней на этапах 3-4-5. В конце счет процессов с категориями 1, 2 и 3 должен быть показан на графике ap ie.
Вот изображение таблицы:
Способ, которым я реализовал выбор клиента для подмножества фаз, - это 2 меры с функциями SWITCH (Измерить с и Измерить до), которые вызывают одну из 6 других мер (от М1 до М6) в зависимости от дат, выбранных клиент в 2 срезах, один для даты начала (Дата1: от A до F) и другой для даты окончания (Дата2: от B до G). Затем третья мера (От) выполняет вычитание между результатами двух вышеуказанных мер, определяя количество дней, а последняя мера (Категория) определяет категорию 1, 2 или 3.
Я думаю, Я должен построить таблицу DAX, чтобы иметь возможность выполнить окончательное объединение категорий. Я пытался, но это не работает. Я создаю таблицу DAX следующим образом:
Таблица с показателями = ADDCOLUMNS (DataDays; "M1"; [M1]; "M2"; [M2]; "M3"; [M3]; "M4") ; [M4]; "M5"; [M5]; "M6"; [M6]; "Category"; [Category])
Но я получаю ошибку "MdxScript (Model): таблица из нескольких значения были предоставлены там, где ожидалось одно значение. "
Посмотрите на мои показатели:
M1 = MAX (DataDays [D1]) + MAX (DataDays [D2]) + MAX ( DataDays [D3]) + MAX (DataDays [D4]) + MAX (DataDays [D5]) + MAX (DataDays [D6])
M2 = MAX (DataDays [D2]) + MAX (DataDays [D3 ]) + MAX (DataDays [D4]) + MAX (DataDays [D5]) + MAX (DataDays [D6])
...
M6 = MAX (DataDays [D6])
Measure From = SWITCH (TRUE (); VALUES ('From' [Date1]) = "A"; [M1]; VALUES ('From' [Date1]) = "B"; [M2] ; VALUES ('From' [Date1]) = "C"; [M3]; VALUES ('From' [Date1]) = "D"; [M4]; VALUES ('From' [Date1]) = " E "; [M5]; VALUES ('From' [Date1]) =" F "; [M6]; 0)
Measure To = SWITCH (TRUE (); VALUES ('To' [Date2]) ) = "B"; [M2]; VALUES ('To' [ Date2]) = "C"; [M3]; VALUES ('To' [Date2]) = "D"; [M4]; VALUES ('To' [Date2]) = "E"; [M5]; VALUES ('To' [Date2]) = "F"; [M6]; VALUES ('To' [Date2]) = "G"; 0; ПУСТО ())
От до = [Измерить от] - [Измерить до]
Категория = ЕСЛИ ([От До] <= 30; 1; ЕСЛИ ([От До]> 40 ; 3; 2))
Существует ли альтернативный способ записи показателей, чтобы они правильно работали в таблице DAX? В противном случае, есть ли другой способ получить то, что мне нужно?
Ниже найдите ссылку на файл pbix. Спасибо!
https://drive.google.com/open?id=12Med3J60Pf5lUsJvmjAMeeUAaOgJehv7