#powerbi #dax
#powerbi #дакс #dax
Вопрос:
У меня есть список элементов в таблице, и я хочу иметь возможность ссылаться на дату в таблице и вставлять текстовое значение, чтобы указать, является ли эта дата «Завершена в текущем квартале» или «Завершена в предыдущем квартале».
У меня есть первая часть, которая работает как первая инструкция AND, работает нормально, но 2-я инструкция and, которая содержит ошибки «= PREVIOUSQUARTER».
Если бы кто-нибудь мог показать мне, где я ошибаюсь, это было бы здорово.
#Completion_Title = SWITCH(TRUE(),
AND([#Story_Close_Date]>STARTOFQUARTER(DevOps_All_User_Stories[#Current_Date].[Date]),[#Story_Close_Date]<>BLANK()),"Completed in Current Quarter",
AND([#Story_Close_Date]=PREVIOUSQUARTER(DevOps_All_User_Stories[#Current_Date].[Date]),[#Story_Close_Date]<>BLANK()),"Completed in Previous Quarter"
)
Комментарии:
1. Проверьте это — learn.microsoft.com/en-us/dax/previousquarter-function-dax
2. PREVIOUSQUARTER возвращает столбец дат, а не только одно значение, это ошибка. Вы можете попробовать использовать оператор IN [#Story_Close_Date] В PREVIOUSQUARTER(…..
Ответ №1:
Предполагая, что для [#Story_Close_Date] перед началом предыдущего квартала возвращаемое значение должно быть ПУСТЫМ (), это должно сработать
#Completion_Title =
SWITCH(
TRUE(),
AND(
[#Story_Close_Date]
>= STARTOFQUARTER( DevOps_All_User_Stories[#Current_Date].[Date] ),
[#Story_Close_Date] <> BLANK()
), "Completed in Current Quarter",
AND(
[#Story_Close_Date]
>= STARTOFQUARTER(
PREVIOUSQUARTER( DevOps_All_User_Stories[#Current_Date].[Date] )
),
[#Story_Close_Date] <> BLANK()
), "Completed in Previous Quarter"
)
Я изменил строгий оператор «больше, чем» в условии, поскольку я предполагаю, что завершение в первый день текущего квартала относится к текущему кварталу, но дело не в этом. Важно то, что PREVIOUSQUARTER — это функция анализа времени, которая возвращает таблицу с одним столбцом, содержащую все даты текущего выбора, перенесенные на предыдущий квартал. Поэтому может быть более одной строки.
Функция STARTOFQUARTER также является функцией анализа времени, которая возвращает таблицу с одним столбцом дат. Но эта функция возвращает только одну строку, а DAX способен автоматически преобразовывать таблицу с одной строкой и одним столбцом в скалярное значение.