检查 DAX 中的列是否为空或空白
Check if column is null or blank in DAX
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]
- 我有上面的示例 DAX 查询。有没有我可以操纵
'Target_FormResponse'[Area Used]
这样如果它是空白或空的,我 return "No" 否则如果它不是空白或空的我 return "Yes"。
在 SSRS 中,我可以做类似 =IIF(Len(Fields!Form_Response.Value) > 0,"Yes","No")
的事情,但我想在 DAX 查询级别实现。
如果您对添加包含 "Yes" 或 "No" 值的额外列感到满意,只需将整个表达式包装在对 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
,但不幸的是,你必须指定每个列的名称想保留,所以代码最终会更长。
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]
- 我有上面的示例 DAX 查询。有没有我可以操纵
'Target_FormResponse'[Area Used]
这样如果它是空白或空的,我 return "No" 否则如果它不是空白或空的我 return "Yes"。
在 SSRS 中,我可以做类似 =IIF(Len(Fields!Form_Response.Value) > 0,"Yes","No")
的事情,但我想在 DAX 查询级别实现。
如果您对添加包含 "Yes" 或 "No" 值的额外列感到满意,只需将整个表达式包装在对 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
,但不幸的是,你必须指定每个列的名称想保留,所以代码最终会更长。