Как исправить, что несколько столбцов не могут быть преобразованы в скалярное значение в DAX

#powerbi #dax #powerbi-desktop

#powerbi #dax #powerbi-рабочий стол

Вопрос:

Я пытаюсь использовать приведенный ниже запрос DAX, чтобы получить отчетливое ежедневное количество CustomerID и отфильтровать только тогда, когда запас был взят клиентом.

 Distinct CID = 

var _table = 
SUMMARIZE(
    'Secondary Meetings',
    'Secondary Meetings'[Createddate].[Day],
    "Distinct", DISTINCTCOUNT('Secondary Meetings'[CustomerID]),
    "Stock Take", 
    FILTER(
        'Secondary Meetings',
        'Secondary Meetings'[StockTake]="Yes"
    ) 

    return SUMX(_table,[Distinct])
  

Когда я пытаюсь использовать указанную выше функцию DAX, я получаю эту ошибку ниже:

Выражение относится к нескольким столбцам. Несколько столбцов не могут быть преобразованы в скалярное значение.

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

1. Вы предоставили ТАБЛИЦУ для вычисления столбца «Инвентаризация», которая не разрешена. Определите соответствующую агрегацию для столбца «Инвентаризация» на основе одного исходного столбца. Если что-то неясно, пожалуйста, подтвердите свои данные выборки ожидаемым результатом от них.

Ответ №1:

Предполагая, что ваша таблица выглядит так, с несколькими CustomerID для каждой даты.

  ----------------- ------------ ----------- 
|       Date      | CustomerID | StockTake |
 ----------------- ------------ ----------- 
| 01 January 2020 | 1          | Yes       |
 ----------------- ------------ ----------- 
| 01 January 2020 | 1          | Yes       |
 ----------------- ------------ ----------- 
| 01 January 2020 | 4          | No        |
 ----------------- ------------ ----------- 
| 01 January 2020 | 4          | No        |
 ----------------- ------------ ----------- 
| 01 January 2020 | 3          | Yes       |
 ----------------- ------------ ----------- 
| 02 January 2020 | 2          | No        |
 ----------------- ------------ ----------- 
| 02 January 2020 | 1          | Yes       |
 ----------------- ------------ ----------- 
| 02 January 2020 | 2          | No        |
 ----------------- ------------ ----------- 
  

В приведенном ниже расчете используется итератор SUMX для получения отдельного количества за каждый день и последующего суммирования результатов каждой оценки.

 Distinct CID = 
SUMX (
    VALUES ( 'Table'[Date] ),
    CALCULATE ( DISTINCTCOUNT ( 'Table'[CustomerID] ),
    'Table'[StockTake]="Yes" )
)

  

Вывод:
введите описание изображения здесь

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

1. Эта формула работает отлично. Очень полезно, спасибо!