MDX:查询维度中是否存在行
MDX: Query if row exists in dimension
我创建了一个 SSAS 表格模型多维数据集,它也可以连接。
立方体包含
测量:-CountA、SumB、CountC、SumD、CountE
方面:
- TblLabelDefinition(ID、定义、类型)
- TblLabels(ID,Type,reference,date,sold,leftover,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 table 中的引用是否存在于引用 table 中。
这是我得到的错误:
And 函数需要字符串或数字表达式作为 2 参数。使用了元组集表达式。
尝试以下方法来消除语法错误:
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]
)
为 table References
中的一个或多个引用生成一组存在于 table TblLabels
中的引用。如果这些 table 连接到 'reference' 列,那么上面的 EXISTS
构造将 return 只有那些同时出现在 References
和 [=12] 中的引用=].首先检查一下这是否是您需要的。
我创建了一个 SSAS 表格模型多维数据集,它也可以连接。
立方体包含
测量:-CountA、SumB、CountC、SumD、CountE
方面:
- TblLabelDefinition(ID、定义、类型)
- TblLabels(ID,Type,reference,date,sold,leftover,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 table 中的引用是否存在于引用 table 中。
这是我得到的错误: And 函数需要字符串或数字表达式作为 2 参数。使用了元组集表达式。
尝试以下方法来消除语法错误:
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]
)
为 table References
中的一个或多个引用生成一组存在于 table TblLabels
中的引用。如果这些 table 连接到 'reference' 列,那么上面的 EXISTS
构造将 return 只有那些同时出现在 References
和 [=12] 中的引用=].首先检查一下这是否是您需要的。