您好,我想知道如何使“iif”工作。
基本上,当发端人是“John Smith”时,我需要过滤工程“产品代码”。当前成员没有工作或者iif无效,
SELECT
{
(
[Time].[Fiscal Hierarchy Time Calculations].[Month to Date],
[Measures].[Sell - Bookings]
)
} ON COLUMNS,
[Originators].[Originator One Letter Name].Children ON ROWS
FROM [Sales]
WHERE
(
[Time].[Fiscal Month].&[2010-02-01T00:00:00],
IIF
(
[Originators].[Originator One Letter Name].CurrentMember = "John Smith",
Except
(
[Product Codes].[Product Primary Subcategory].Children,
[Product Codes].[Product Primary Subcategory].&[ENGINEERING]
),
[Product Codes].[Product Primary Subcategory].Children
)
);
有什么想法吗?
提前致谢。
维战
答案 0 :(得分:0)
比较MDX中成员的最佳方法是使用IS
:
SELECT
{
(
[Time].[Fiscal Hierarchy Time Calculations].[Month to Date],
[Measures].[Sell - Bookings]
)
} ON COLUMNS,
[Originators].[Originator One Letter Name].Children ON ROWS
FROM [Sales]
WHERE
(
[Time].[Fiscal Month].&[2010-02-01T00:00:00],
IIF
(
[Originators].[Originator One Letter Name].CurrentMember IS
[Originators].[Originator One Letter Name].[JOHN SMITH],
Except
(
[Product Codes].[Product Primary Subcategory].Children,
[Product Codes].[Product Primary Subcategory].&[ENGINEERING]
),
[Product Codes].[Product Primary Subcategory].Children
)
);
当然,您必须更改[Originators].[Originator One Letter Name].[JOHN SMITH]
以获取该成员的正确唯一名称