我在OBIEE
中有以下代码case when FILTER("- Work"."Actual Labour" USING ("- WorK"."Scheduled Flag" = 'SCHEDULED')) null then 0 else
FILTER("- Work"."Actual Labour" USING ("- Work"."Scheduled Flag" = 'SCHEDULED')) end
如何使用mdx,
我试试这个
iif(IsEmpty(FILTER("- Work"."Actual Labour" , ("- Work"."Scheduled Flag" = 'SCHEDULED')) , 0 ,
FILTER("- Work Orders"."Actual Labour" , ("- Work"."Scheduled Flag" = 'SCHEDULED')) )
但它总是返回null
。
答案 0 :(得分:0)
方括号用于mdx
而不是用于标记:
IIF
(
IsEmpty
(
Filter
(
[- Work].[Actual Labour]
,
[- Work].[Scheduled Flag] = 'SCHEDULED'
)
,0
,Filter
(
[- Work Orders].[Actual Labour]
,
[- Work].[Scheduled Flag] = 'SCHEDULED'
)
)
)
但你的FILTER语句是错误的 - 你可以像这样使用这个函数:
IIF
(
IsEmpty
(
Filter
(
[- Work].[Scheduled Flag].members
,
[- Work].[Scheduled Flag].currentmember.member_caption = 'SCHEDULED'
)
,null
,Filter
(
[- Work].[Scheduled Flag].members
,
[- Work].[Scheduled Flag].currentmember.member_caption = 'SCHEDULED'
)
)
)
在我看来,您需要WHERE
脚本中的mdx
子句,如下所示:
WHERE
([- Work].[Scheduled Flag].[SCHEDULED])