Mdx Analysis Server 2000和2008中不同的非空行为

Mdx Analysis Server 2000和2008中不同的非空行为,mdx,olap,ssas,Mdx,Olap,Ssas,我们目前运行一个前端管理器信息工具,该工具连接到SQL分析服务器,以提供灵活的报告。从本质上讲,前端构建一些MDX,然后在Analysis Services上执行,并将结果美化为一个表 我们目前正在从SQL 2000升级到SQL 2008,在MDX中使用非空时遇到了差异 这是有问题的MDX查询 SELECT NON EMPTY {[Measures].allMembers} ON ROWS, NON EMPTY {} ON COLUMNS FROM Sales 在Analysis Server

我们目前运行一个前端管理器信息工具,该工具连接到SQL分析服务器,以提供灵活的报告。从本质上讲,前端构建一些MDX,然后在Analysis Services上执行,并将结果美化为一个表

我们目前正在从SQL 2000升级到SQL 2008,在MDX中使用非空时遇到了差异

这是有问题的MDX查询

SELECT NON EMPTY {[Measures].allMembers} ON ROWS, NON EMPTY {} ON COLUMNS FROM Sales
在Analysis Server 2000上运行时,它返回行的度量值成员名称列表,但在Analysis Server 2008中运行时,不返回任何内容

看看MDX,我认为2008年的运行情况与预期的一样,2000年是错误的,但它有点破坏了我们的前端,因为在运行MDX的情况下,它没有显示任何内容(然后用户会在这之后拖动一些列,但是如果没有显示,他们就不能这样做)

那么,有什么不同的原因吗。这是2000年的一个“bug”,2008年修复了吗?或者是否有一些配置选项可能会影响返回的内容?(基本上,我希望避免对前端进行更改以应对此问题!)


谢谢。

自从我使用SSAS 2000以来,时间已经够长了,感觉不像昨天了。我想不起来看到过这样一个突破性的变化。但是,如果您的目的是仅为成员发出查询,则列上的非空值会让人感觉不真实。(这是完全正确的,我发现使用UI比使用元数据对象更可靠。)

非空会受到隐式切片器的影响,并且您的多维数据集结构可能在某些地方发生了更改。如果所有非度量值维度中的顶级/默认成员都为您提供了所有空单元格值,则您将删除度量值

假设您运行的查询与

SELECT NON EMPTY {[Measures].allMembers} ON  COLUMNS FROM Sales

在SQL Server管理控制台中。你有价值观吗

如果是,请尝试在与用户完全相同的环境中运行这些应用程序(例如,他们的应用程序的调试版本)。安全筛选器和默认成员设置是导致正确筛选空行的两个因素

SELECT  {[Measures].allMembers} ON COLUMNS FROM Sales