从 powerpivot 连接到 SSAS 时,我遇到以下问题 - 如果由于某种原因 mdx 查询没有返回行,也不会返回列名,并且 powerpivot 会给出错误。在 SSMS 中执行此类查询时,如果 mdx 什么也不返回,则得到 0 行;如果 mdx 返回 1 行(列名称和行本身),则得到 2 行。那么 - 我可以以某种方式强制 SSAS 返回列名吗?
目前的查询看起来有点像这样:
SELECT NON EMPTY {[Measures].[Measure1]} ON COLUMNS,
NON EMPTY {Filter([DimLocalDate].[Date].&[20110101]:[DimLocalDate].[Date].&[20120101],
[JobStatus].[JobStatus].&[1] } ON ROWS
FROM [TheCube]
在我的应用程序中,客户可以指定日期和状态值。如果没有找到结果,我会期望得到一个空的结果集,但我得到了一个错误。
谢谢。
re SSIS 错误:在数据源中找不到 [MEMBER_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]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)