функция sum не может работать со строковыми значениями

#string #sum #powerbi #dax #percentage

Вопрос:

Я работаю с DAX в PowerBI. У меня есть столбец с 80 000 строковыми значениями. 70% этих значений — «Европейский стол». Я хочу показать этот процент. Это строковое значение, я не понимаю, как это сделать с DAX

Есть какие-нибудь советы ?

Ответ №1:

Мера, которую вы ищете, это

 % European Desk = DIVIDE(
    CALCULATE(
        COUNT('Table'[String]),
        'Table'[String] = "European Desk"
    ),
    COUNT('Table'[String])
)
 

С помощью CALCULATE вы можете изменить контекст фильтра для агрегации COUNT ().

Вы можете применить эту формулу, например, к этой таблице:

 Table = DATATABLE(
    "Index", INTEGER,
    "String", STRING,
    {
        {1, "European Desk"}, 
        {2, "European Desk"},
        {3, "European Desk"},
        {4, "African Desk"},
        {5, "Asian Desk"}
    }   
)
 

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

1. Спасибо за ответ. Если я адаптирую вашу форму, я получу : % Европейский стол = РАЗДЕЛИТЬ( ВЫЧИСЛИТЬ( КОЛИЧЕСТВО(‘Инцидент_6 моис «[группа назначений]),’Инцидент_6 моис» [группа назначений] = «Европейский стол»), КОЛИЧЕСТВО(‘Инцидент_6 моис»[группа назначений]) ), Но результаты «1»

2. Попробуйте каждый элемент вложенной формулы самостоятельно, чтобы увидеть, что они дают. Затем сложите их вместе.

3. Сверьте формулу с приведенной выше таблицей. Возможно, это поможет вам обнаружить проблему с вашей моделью данных.

4. Я добавил столбец, когда EUROPEAN SERVICE DESK = 1, а все остальное равно 0. Затем я получил эту ошибку : операции сравнения DAX не поддерживают сравнение целых значений с текстовыми значениями. Используйте функцию value или format() для преобразования одного из значений, которые я не понимаю, у меня нет текстовых значений в моей колонке ? Я также проверил вашу правку, но я не знаю, куда поместить новый формуль и что он делает ? В новом мезуре ?

5. В любом случае, я нашел ошибку для этого нового вычисления, результаты те же, «1»