#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. Эта формула работает отлично. Очень полезно, спасибо!