MDX-在“Where”部分使用“iif”函数

MDX-在“Where”部分使用“iif”函数,mdx,where,iif,except,Mdx,Where,Iif,Except,嗨,我想知道如何让iif工作 基本上,当发起人是约翰·史密斯时,我需要过滤工程产品代码。currentmember不工作或iif不工作 SELECT { ( [Time].[Fiscal Hierarchy Time Calculations].[Month to Date], [Measures].[Sell - Bookings] ) } ON COLUMNS, [Originators].[Originator One Lett

嗨,我想知道如何让iif工作

基本上,当发起人是约翰·史密斯时,我需要过滤工程产品代码。currentmember不工作或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
    )
  );
有什么想法吗

提前谢谢


Duy

在MDX中比较成员的最佳方法是:

当然,您必须更改[发起人].[发起人单字母名称].[JOHN SMITH]以获得成员的正确唯一名称

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
    )
  );