Мера DAX для суммирования только числовых значений в строковом столбце с числами и строками - PullRequest
0 голосов
/ 07 июня 2018

Как создать меру DAX для суммирования только числовых значений?Предположим, у нас есть простой пример данных, как показано ниже.enter image description here

Я думал, что этот код может выполнить эту работу, но это не удалось.

m1 = IF( MAX(Table1[category]) = "apples", SUM(Table1[units]) , BLANK() )

Когда я пытаюсь добавить эту меру в таблицу, в которой применены фильтры только для яблок и слив, я получаю сообщение об ошибке:

enter image description here

Мне нужно что-то, что сначала применит фильтр, отсеивая текстовые значения, а затем суммируя только числовые значения.

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Это ужасный способ хранения данных, но можно делать то, что вы просите.

Попробуйте этот показатель, например,

= SUMX(FILTER(Table1, Table1[type]="number"), VALUE(Table1[units]))

VALUEФункция преобразует строку в числовое значение, и мы суммируем только те строки, где type равно «число».

0 голосов
/ 07 июня 2018

Основная проблема в том, что SUM никогда не будет работать со столбцом, который определен как текст.Так, например, если ваш столбец состоит только из цифр, но столбец, определенный как текст, то Measure:= SUM ( table[ units] ) всегда будет содержать ошибку.

Единственный способ действительно сделать то, что вы хотите, это иметь данные в отдельных столбцах по типу,Затем в пределах рассчитанной меры, которая возвращается на основе столбца.

...