平台:SQL Server Analysis Services 2016 RTM和更高版本(多维)
在数据库中,我们具有以下公司维度: Company
父子层次结构不会循环,但参差不齐。 图的外观如下(treant-js绘图): Company parent-child graph
Analysis Services项目仅包含一个维度-公司,使用向导创建。所有设置均设置为默认值。 “ CompanySK”是KeyColumn,“ CompanyName”是NameColumn。 “ CompanyParentSK”重命名为“ Company Hierarchy”,“ Usage”设置为“ Parent”,表示此属性包含父ID。没什么异常: Dimension in Visual Studio
该项目已始终加载和处理,没有问题。 层次结构有效,并在树查看器中正确表示。
现在,如果我们像Reporting Services一样尝试使用MDX 查询维度,那么正在发生奇怪的事情。
当您尝试列出“国家名称”为“德国”的所有公司时:
WITH
MEMBER [Measures].[ParameterCaption] AS [Company].[Company Name].CURRENTMEMBER.MEMBER_CAPTION
MEMBER [Measures].[ParameterValue] AS [Company].[Company Name].CURRENTMEMBER.UNIQUENAME
MEMBER [Measures].[ParameterLevel] AS [Company].[Company Name].CURRENTMEMBER.LEVEL.ORDINAL
SELECT {
[Measures].[ParameterCaption],
[Measures].[ParameterValue],
[Measures].[ParameterLevel]
} ON COLUMNS ,
[Company].[Company Name].ALLMEMBERS ON ROWS
FROM [HierarchyErrorCube]
WHERE STRTOSET( "{[Company].[Country Name].&[Germany]}" );
它将返回错误:
Executing the query ...
Internal error: An unexpected exception occurred.
Run complete
但是如果您要要求澳大利亚:
(...)
WHERE STRTOSET( "{[Company].[Country Name].&[Australia]}" );
它可以正常工作。
一些有趣的事实
您可以下载项目和数据here on my blogpost.。您还可以找到我们尝试解决此问题的所有方法。
Visual Studio项目中是否有任何设置可以帮助您,或者Reporting Services MDX代码是否错误?任何帮助将不胜感激。