Ssas 强制mdx查询返回列名
从powerpivot连接到SSAS时,我遇到了以下问题-如果出于某种原因mdx查询没有返回行,也没有返回列名,powerpivot会给出一个错误。在SSMS中执行此类查询时,如果mdx不返回任何内容,则得到0行;如果mdx返回1行(列名和行本身),则得到2行。那么-我可以强制SSA返回列名吗? 查询当前看起来有点像这样:Ssas 强制mdx查询返回列名,ssas,mdx,powerpivot,Ssas,Mdx,Powerpivot,从powerpivot连接到SSAS时,我遇到了以下问题-如果出于某种原因mdx查询没有返回行,也没有返回列名,powerpivot会给出一个错误。在SSMS中执行此类查询时,如果mdx不返回任何内容,则得到0行;如果mdx返回1行(列名和行本身),则得到2行。那么-我可以强制SSA返回列名吗? 查询当前看起来有点像这样: SELECT NON EMPTY {[Measures].[Measure1]} ON COLUMNS, NON EMPTY {Filter([DimLocalDate].[
SELECT NON EMPTY {[Measures].[Measure1]} ON COLUMNS,
NON EMPTY {Filter([DimLocalDate].[Date].&[20110101]:[DimLocalDate].[Date].&[20120101],
[JobStatus].[JobStatus].&[1] } ON ROWS
FROM [TheCube]
在我的应用程序中,客户可以指定日期和状态值。如果没有找到结果,我希望结果集是空的,但我得到了一个错误。
谢谢。在选择之前,我将检查您的NonEmpty子句是否将返回一个void集,在这种情况下,在行上放置一个虚拟集,该虚拟集将至少返回到powerpivot 1行。 比如:
WITH
SET [mySet] as NON EMPTY ({Filter([DimLocalDate].[Date].&[20110101]:[DimLocalDate].[Date].&[20120101], [JobStatus].[JobStatus].&[1] })
SET [myRealSet] as IIF(COUNT([mySet]) > 0, [mySet], {[DummySet]})
SELECT NON EMPTY {[Measures].[Measure1]} ON COLUMNS,
[myRealSet] ON ROWS
FROM [TheCube]
会有帮助吗?在选择之前,我将检查您的NonEmpty子句是否将返回一个void集,在这种情况下,在行上放置一个虚拟集,该虚拟集将至少返回到powerpivot 1行。 比如:
WITH
SET [mySet] as NON EMPTY ({Filter([DimLocalDate].[Date].&[20110101]:[DimLocalDate].[Date].&[20120101], [JobStatus].[JobStatus].&[1] })
SET [myRealSet] as IIF(COUNT([mySet]) > 0, [mySet], {[DummySet]})
SELECT NON EMPTY {[Measures].[Measure1]} ON COLUMNS,
[myRealSet] ON ROWS
FROM [TheCube]
是否有帮助?在数据源中找不到SSIS错误:[MEMBER\u CAPTION] 谢谢你的解决方案帮助了我。 我在使用SSIS、SSAS输出平面文件报告时遇到了同样的问题 我将发布一个扩展示例,以帮助其他人定义虚拟集。 请注意,日期是动态插入MDX脚本的 当日期不存在数据时,SSIS会引发异常,因此不会返回任何结果。 这会打乱列顺序
--create a blank set so that data is still returned when there are no results for that date
set [BlankRowSet] as
([Activity Period].[Days].[Day].&[2014-02-02T00:00:00], [Well].[Location].[Location].&[])
--create the active set as the crossjoin between Days, Wells
set [ActiveSet] as
nonempty([Activity Period].[Days].[Day].members * [Well].[Location].[Location].members )
SET [RealSet] as IIF(COUNT([ActiveSet]) > 0, [ActiveSet], {[BlankRowSet]})
select {[Measures].[Total boe]} ON COLUMNS
,[RealSet] ON ROWS
FROM
(select {[Activity Period].[Days].[Day].&[2014-02-02T00:00:00]:[Activity Period].[Days].[Day].& [2014-02-02T00:00:00]} on 0 from [Volumes] )
where
[Scenario].[All Scenarios].[Category].&[PVR Sales Estimates]
re SSIS错误:[在数据源中找不到成员标题] 谢谢你的解决方案帮助了我。 我在使用SSIS、SSAS输出平面文件报告时遇到了同样的问题 我将发布一个扩展示例,以帮助其他人定义虚拟集。 请注意,日期是动态插入MDX脚本的 当日期不存在数据时,SSIS会引发异常,因此不会返回任何结果。 这会打乱列顺序
--create a blank set so that data is still returned when there are no results for that date
set [BlankRowSet] as
([Activity Period].[Days].[Day].&[2014-02-02T00:00:00], [Well].[Location].[Location].&[])
--create the active set as the crossjoin between Days, Wells
set [ActiveSet] as
nonempty([Activity Period].[Days].[Day].members * [Well].[Location].[Location].members )
SET [RealSet] as IIF(COUNT([ActiveSet]) > 0, [ActiveSet], {[BlankRowSet]})
select {[Measures].[Total boe]} ON COLUMNS
,[RealSet] ON ROWS
FROM
(select {[Activity Period].[Days].[Day].&[2014-02-02T00:00:00]:[Activity Period].[Days].[Day].& [2014-02-02T00:00:00]} on 0 from [Volumes] )
where
[Scenario].[All Scenarios].[Category].&[PVR Sales Estimates]
是的,非常感谢,这确实有帮助。最后,我使用了COUNT(HEAD([MySet],1))而不是COUNT([MySeat]),这可能会更好,但我仍然需要进行性能比较。再次感谢您,Michele…是否可以返回类似于
call\u start\u time.[hour24].[hour24]这样的列。成员标题
?请看这个:是的,非常感谢,这确实有帮助。最后,我使用了COUNT(HEAD([MySet],1))而不是COUNT([MySeat]),这可能会更好,但我仍然需要进行性能比较。再次感谢您,Michele…是否可以返回类似于call\u start\u time.[hour24].[hour24]这样的列。成员标题
?请看以下内容:如果我需要返回一个列,如call\u start\u time.[hour24].[hour24]。MEMBER\u CAPTION
?我尝试了您的解决方案,但似乎无法很好地处理这些情况。如果我需要返回一列,如call\u start\u time.[hour24].[hour24]。MEMBER\u CAPTION
?我尝试了你的解决方案,但似乎对这些案例不起作用。