DAX % показателя выше определенного порога

avatar
Chicken Sandwich No Pickles
8 августа 2021 в 22:54
65
1
0

У меня есть прекрасно работающая мера DAX, которая называется CntViewedByUser_YOY. Если пользователь освобожден по какой-либо причине (попросил быть освобожденным), значение принимает значение N/A, в противном случае оно будет иметь номер.

Я хочу создать меру DAX, которая подсчитывает общее количество записей, где CntViewedByUser_YOY не равно N/A, и позже использовать ее в качестве знаменателя в функции DIVIDE.

Для числителя я хочу, чтобы значение принимало 1, если значение равно или превышает 70%, в противном случае 0, если это не значение N/A, в этих случаях я хочу, чтобы счетчик игнорировался .

Пример данных:

CntViewedByUser_YOY
0.00
0.25
0.70
0.85
N/A

Числитель = 2 Знаменатель = 4

Результат = 0,50

Это то, что я пытался использовать для получения знаменателя, но потом получил сообщение об ошибке.

VAR Count_YOY_Adj = 
    IF ([CntViewedbyUser_YOY] <> "N/A" 
    , COUNT(HighlightsMeasures[CntViewedbyUser_YOY])
    ,BLANK()
    )

Сообщение об ошибке, которое я получил:

"Column 'CntViewedbyUser_YOY' in table 'table_a' cannot be found or may not be used in this expression.
Источник
Marcus
9 августа 2021 в 10:23
0

Было бы хорошо иметь некоторые фактические данные о том, как выглядят эти таблицы и каков ожидаемый результат. Трудно предложить вам, как решить эту проблему с помощью DAX, без четких примеров данных.

Ответы (1)

avatar
mkRabbani
10 августа 2021 в 10:54
1

Создайте это ниже измерений-

Numerator = 
COUNTROWS(    
    FILTER(
        ALL('Table'),
        [CntViewedByUser_YOY] >= 0.70
    )
)

Поскольку у вас есть 'N/A' в качестве строкового значения, вы можете фильтровать Liek - [CntViewedByUser_YOY] <> "N/A"

Но ноль предпочтительнее в столбце числового типа.

Denominator = 
COUNTROWS(    
    FILTER(
        ALL('Table'),
        NOT ISBLANK([CntViewedByUser_YOY])
    )
)
Result = [Numerator]*1.00/[Denominator]

Конечный результат-

enter image description here