Функция подсчета DAX с текстовым полем в табличной модели SSAS

Я пытаюсь воспроизвести приведенный ниже расчет dax, который работал в Power BI, но вызывал ошибку в табличной модели SSAS.

Account Warranty Count = CALCULATE(COUNT(dds_repairlogs[Repair Logs]),RELATEDTABLE(dds_repairlogs),filter(dds_repairlogs,dds_repairlogs[Savings Type 2] = "Warranty"))

Я получаю ошибку count doesn't work with text fields. Однако поле «Восстановить журналы в счетчике» является своего рода уникальным идентификатором. Есть ли у кого-нибудь предложения о том, как воспроизвести указанную выше меру в табличной модели SSAS.


person ssg    schedule 16.08.2017    source источник


Ответы (2)


Добавив немного к ответу Олли:

Функция COUNT подсчитывает строки, содержащие числа, даты или строки, но текстовые значения учитываются только в том случае, если их можно преобразовать в число.

Uniqueidentifier не является поддерживаемым типом данных в табличных моделях SSAS, и поэтому ваши значения uniqueidentifier, скорее всего, сохраняются как тексты (т. Е. Строки).

Изменение COUNT(dds_repairlogs[Repair Logs]) на COUNTROWS(dds_repairlogs) в вашей формуле должно решить проблему. COUNTROWS считает все строки в таблице, а не числа в столбце.

person dybzon    schedule 17.08.2017

Функция COUNT считает только числа. В вашем сообщении об ошибке указано, что поле [Журналы восстановления] содержит нечисловые значения.

Попробуйте заменить COUNT на COUNTROWS

person Olly    schedule 17.08.2017