Как включить предложение WHERE в DAX

#powerbi #dax

#powerbi #dax

Вопрос:

Приведенное ниже вычисляет разницу между двумя датами для всего диапазона дат в таблице.

Пример данных:

 Name    Date1        Date2
A       2020/07/27   2020/07/27
B       2020/07/27   2020/07/27
  

Пока что попробуйте использовать приведенный ниже код-

 AGE = DATEDIFF(CALENDAR[DATE1],CALENDAR[DATE2],DAY)
  

Как бы я ограничил DATE2 значением:

a. >= 2020/07/27 b. Между 2020/04/01 и 2020/07/26 включительно c. В прошлом месяце d. В этом месяце

Я хотел бы отобразить их на столбчатой диаграмме, чтобы показать среднее значение для каждого из них — нужно ли мне создавать меру для каждого из них?

Заранее спасибо.

Комментарии:

1. Вам просто нужна одна мера с вашим ожидаемым вычислением. Столбчатая диаграмма автоматически распознает все сама. Если вы предоставите некоторые примеры данных с ожидаемым результатом, это будет легче понять всем и предоставить вам подходящее решение.

2. Здравствуйте, на самом деле делиться нечем, это просто таблица с Name, Date1 и Date2. Теперь я перешел в режим импорта, чтобы это было проще, и создал вычисляемый столбец для определения разницы между Date1 и Date2. Таким образом, я могу создать показатель для вычисления среднего значения для каждого диапазона дат, а затем нанести их на одну столбчатую диаграмму. Я не уверен, как вы могли бы сделать это только с одной мерой?

3. Еще многое предстоит показать. Поместите сюда свой образец входных данных в табличном формате. Добавьте 6/7 примерных строк данных. И, наконец, добавьте ожидаемый результат (может быть изображением ожидаемой гистограммы). Примечание: Проверьте мой пример таблицы, который я добавил в ваш вопрос. Теперь вы можете отправлять туда данные.

Ответ №1:

 AGE = Calculate(
DATEDIFF(CALENDAR[DATE1],CALENDAR[DATE2],DAY), 
Filter(Calendar,CALENDAR[DATE2]>= 2020/07/27))
  

Аналогичным образом вы можете использовать выражение Filter для случаев b и c.

Комментарии:

1. Спасибо Химаншу. В нем говорится, что невозможно определить единственное значение для даты. Это нормально работает без фильтра, но не тогда, когда я указываю диапазон дат. Есть идеи?

2. Не могли бы вы, пожалуйста, поделиться примерами данных и скриншотом ошибки?

3. Это ошибка «Не удается определить единственное значение для столбца ‘DATE1’ в таблице ‘CALENDAR’. Это может произойти, когда формула измерения ссылается на столбец, содержащий много значений, без указания агрегирования, такого как min, max, count или sum, для получения одного результата.» Я не уверен, как я буду делиться данными, поскольку они есть в Power BI, но таблица содержит много строк, и для каждой строки я пытаюсь вычислить разницу между Date1 и Date2, а затем получить среднее значение этого. Как я уже сказал, это работает без проблем без указания диапазона дат.