Проверьте, является ли столбец пустым или пустым в DAX - PullRequest
0 голосов
/ 23 января 2020
EVALUATE
FILTER
(
SUMMARIZE (
NATURALLEFTOUTERJOIN (
    'Target_Category',
    'Target_Form'
    ),
'Target'[Area],
'Target'[id],
'Target'[Target date],
'Target'[Target Time Range],
'Target_Category'[Origin],
'Target_Category'[Sectotion],
'Target'[Location],
'Target_Category'[Ethencity],
'Target_FormResponse'[Area Used],
'Target'[Description]
),
'Target'[id] = Value("111373268") 
)
ORDEr BY 'Target'[Target Key]
  1. У меня есть пример запроса DAX выше. Могу ли я манипулировать 'Target_FormResponse'[Area Used] таким образом, чтобы, если он был пустым или пустым, я возвращал «Нет», в противном случае, если он не пустой или пустой, я возвращал «Да».

В SSRS я могу сделать что-то вроде =IIF(Len(Fields!Form_Response.Value) > 0,"Yes","No"), но я хочу добиться этого на уровне запросов DAX.

1 Ответ

0 голосов
/ 24 января 2020

Если вы удовлетворены добавлением дополнительного столбца, содержащего значения «Да» или «Нет», просто оберните все выражение в вызове в ADDCOLUMNS:

EVALUATE
ADDCOLUMNS (
    FILTER (
        SUMMARIZE (
            NATURALLEFTOUTERJOIN ( 'Target_Category', 'Target_Form' ),
            'Target'[Area],
            'Target'[id],
            'Target'[Target date],
            'Target'[Target Time Range],
            'Target_Category'[Origin],
            'Target_Category'[Sectotion],
            'Target'[Location],
            'Target_Category'[Ethencity],
            'Target_FormResponse'[Area Used],
            'Target'[Description]
        ),
        'Target'[id] = VALUE ( "111373268" )
    ),
    "Area Used Yes/No", IF ( 'Target_FormResponse'[Area Used] > 0, "Yes", "No" )
)
ORDER BY 'Target'[Target Key]

Если вы хотите избавиться от исходного столбца в выводе, вам придется использовать SELECTCOLUMNS вместо этого, но, к сожалению, вам придется указать имена каждого из столбцов Вы хотите сохранить, поэтому код заканчивается намного дольше.

...