通过 Openquery 的 MDX 查询没有 Return 预期数据
MDX Query Via Openquery Does Not Return Expected Data
需要一个更好的问题标题,但这里是。我们有一组从 SQL 服务器 (2012) 调用的查询,这些查询使用来自 OLAP 多维数据集的数据。我们通过 OPENQUERY
调用提取这些数据:
SELECT "[Time Period].[Month Full Code].[Month Full Code].[MEMBER_CAPTION]" AS timestring
FROM openquery([SSAS_cube],'
SELECT { } ON 0,
NONEMPTY ({
DESCENDANTS({[Time Period].[Month Full Code].[Month Full Code]})
}) ON 1
FROM [thecube]
WHERE (
[Geography].[Geo County Area].&[1204000057]
);
')
这 return 没有数据。但是,如果我们直接在 SSAS 服务器上 运行 MDX,我们会得到数据:
SELECT { } ON 0,
NONEMPTY ({
DESCENDANTS({[Time Period].[Month Full Code].[Month Full Code]})
}) ON 1
FROM [thecube]
WHERE (
[Geography].[Geo County Area].&[1204000057]
);
此结果集是可用时间的单列,其中包含给定区域的数据(其他参数可选)。我认为问题在于 MDX 结果中没有 "header" 列,但即使做一个简单的 SELECT * FROM openquery(...)
returns 也没有数据。如何通过 openquery 调用将此数据发送到 return?
这是一种扁平化功能,当您的 MDX 查询结果通过链接服务器扁平化为 table for return 时发生。 SSMS 在显示查询结果时使用 CellSet 对象而不是 table,因此更加灵活。
请确保您的专栏中有内容,并且它应该可以通过链接服务器正常工作。
SELECT { [Measures].CurrentMember } ON 0,
NONEMPTY ({
DESCENDANTS({[Time Period].[Month Full Code].[Month Full Code]})
}) ON 1
FROM [thecube]
WHERE (
[Geography].[Geo County Area].&[1204000057]
);
需要一个更好的问题标题,但这里是。我们有一组从 SQL 服务器 (2012) 调用的查询,这些查询使用来自 OLAP 多维数据集的数据。我们通过 OPENQUERY
调用提取这些数据:
SELECT "[Time Period].[Month Full Code].[Month Full Code].[MEMBER_CAPTION]" AS timestring
FROM openquery([SSAS_cube],'
SELECT { } ON 0,
NONEMPTY ({
DESCENDANTS({[Time Period].[Month Full Code].[Month Full Code]})
}) ON 1
FROM [thecube]
WHERE (
[Geography].[Geo County Area].&[1204000057]
);
')
这 return 没有数据。但是,如果我们直接在 SSAS 服务器上 运行 MDX,我们会得到数据:
SELECT { } ON 0,
NONEMPTY ({
DESCENDANTS({[Time Period].[Month Full Code].[Month Full Code]})
}) ON 1
FROM [thecube]
WHERE (
[Geography].[Geo County Area].&[1204000057]
);
此结果集是可用时间的单列,其中包含给定区域的数据(其他参数可选)。我认为问题在于 MDX 结果中没有 "header" 列,但即使做一个简单的 SELECT * FROM openquery(...)
returns 也没有数据。如何通过 openquery 调用将此数据发送到 return?
这是一种扁平化功能,当您的 MDX 查询结果通过链接服务器扁平化为 table for return 时发生。 SSMS 在显示查询结果时使用 CellSet 对象而不是 table,因此更加灵活。
请确保您的专栏中有内容,并且它应该可以通过链接服务器正常工作。
SELECT { [Measures].CurrentMember } ON 0,
NONEMPTY ({
DESCENDANTS({[Time Period].[Month Full Code].[Month Full Code]})
}) ON 1
FROM [thecube]
WHERE (
[Geography].[Geo County Area].&[1204000057]
);