1

我正在尝试使用作为层次结构属性的日期过滤器来设计 MDX 查询。现在,我需要将属性过滤器值放在“where”子句中。当我拖放属性说 - “2012”时,它转换为其他格式,例如“[日期]。[财政层次结构]。[年份]。&[2.012E9]”,而在左窗格显示中,它显示为“2012 年”..

如何控制这种转换?我不确定它是在什么基础上转换这个属性的?

我需要根据用户选择在程序中动态构建 MDX 查询。当用户选择“2012”时,如何确定它是“2.012E9”?或者有什么方法可以改变 MDX 中的过滤条件,这样我就可以在不使用 [2.012E9] 字符串的情况下实现这一点?

提前致谢..

 SELECT 
[Subjects].[Name] on Rows,

[Student].Name  ON COLUMNS 
FROM Cube    
where 
 [Date].[Fiscal Hierarchy].[Season].&[**2.0121E9**]

-- But the left side pane(Cube browser) shows the attribute as 'YEAR 2012'
4

2 回答 2

2

每个成员都有一个unique name和一个display name。在左侧窗格中,您会看到display name. 在 Mdx 查询中,使用了成员的密钥(请参阅MSDN)。

如果要更改唯一名称,则必须更改密钥。

于 2012-08-27T10:38:53.947 回答
1

我可以通过像这样更改查询来做到这一点:

在行上选择 [主题]。[名称],

[Student].Name ON COLUMNS FROM Cube
where [Date].[Fiscal Hierarchy].[Season].[YEAR 2012]

于 2012-09-03T14:32:30.350 回答