MDX:查询维度中是否存在行

时间:2015-12-08 02:32:14

标签: mdx business-intelligence ssrs-2012

我创建了一个SSAS表格模型多维数据集,它也可以连接。 多维数据集包含 措施: - CountA,SumB,CountC,SumD,CountE 外形尺寸:   - TblLabelDefinition(ID,Definition,Type)
  - TblLabels(ID,类型,参考,日期,销售,剩余,A,B,C,D,E)
  - 参考文献(ID,参考,日期)

以下是我正在处理的查询:

SELECT 
NON EMPTY 
    { 
     [Measures].[CountA], 
     [Measures].[SumB], 
     [Measures].[CountC], 
     [Measures].[SumD], 
     [Measures].[CountE] 
    } 
ON COLUMNS, 
NON EMPTY 
    { 
     (
      [TblLabelDefinition].[Definition].[Definition].ALLMEMBERS * 
      [TblLabels].[Type].[Type].ALLMEMBERS 
     ) 
    }
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS 
FROM 
    ( 
        SELECT ( -{ [TblLabels].[sold].&[1] } ) ON COLUMNS 
        FROM 
            ( SELECT ( { [TblLabels].[leftover].&[0] } ) ON COLUMNS 
                FROM [Model]
            )
    ) 
WHERE 
        ( [TblLabels].[leftover].&[0] ) 
        AND 
        (
         EXISTS([TblLabels].[reference], [References].[reference])
        )   
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, 
FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

我正在尝试检查引用表中是否存在TblLabels表中的引用。

这是我得到的错误: And函数需要2参数的字符串或数字表达式。使用了元组集表达式。

1 个答案:

答案 0 :(得分:0)

尝试以下方法来消除语法错误:

SELECT 
NON EMPTY 
    { 
     [Measures].[CountA], 
     [Measures].[SumB], 
     [Measures].[CountC], 
     [Measures].[SumD], 
     [Measures].[CountE] 
    } 
ON COLUMNS, 
NON EMPTY 
    { 
     (
      [TblLabelDefinition].[Definition].[Definition].ALLMEMBERS * 
      [TblLabels].[Type].[Type].ALLMEMBERS 
     ) 
    }
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS 
FROM 
    ( 
        SELECT ( -{ [TblLabels].[sold].&[1] } ) ON COLUMNS 
        FROM 
            ( SELECT ( { [TblLabels].[leftover].&[0] } ) ON COLUMNS 
                FROM [Model]
            )
    ) 
WHERE 
        (
         [TblLabels].[leftover].&[0]
         , 
        (
         EXISTS
              (
               [TblLabels].[reference], 
               [References].[reference]
              )
        ))   
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, 
FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

作为旁注:

     EXISTS
          (
           [TblLabels].[reference], 
           [References].[reference]
          )

为表TblLabels中的一个或多个引用生成表References中存在的一组引用。如果这些表在“引用”列上加入,则上述EXISTS结构将仅返回ReferencesTblLabels中存在的引用。首先检查一下你是否需要它。