维度属性取决于区域设置标识符

时间:2015-07-16 09:07:27

标签: ssas olap

我想知道是否可以根据区域设置标识符显示不同的维度属性。

这是使用ADOMD.NET的连接字符串。 string connectionString =“Provider = MSOLAP; Integrated Security = SSPI; Persist Security Info = False; Initial Catalog = Catalogo; Data Source = SQlserver; Locale Identifier =”+ language;

例如,如果我与language = 3082(ES)一致,我想只显示一个维度属性,如果y改变语言,我将显示另一个。

1 个答案:

答案 0 :(得分:0)

Analysis Services中的翻译允许多维数据集开发人员为元数据和实际维度成员名称定义西班牙语(和其他语言)翻译。那是你要的吗?或者,您是否希望根据用户的计算机语言减少用户看到的维度成员列表?

我不知道如何轻松检索当前连接上的当前Locale Identifier。也许在SSAS中运行的.NET sproc可以让你解决这个问题,但我不确定我会推荐它。

我尝试在Adventure Works示例多维数据集中创建一个角色,该角色将此表达式用于[Geography]上的Dimension Data安全性。[Country]属性:

Filter([Geography].[Country].[Country].Members,[Geography].[Country].CurrentMember.Name = [Geography].[Country].CurrentMember.Member_Caption)

该代码只是一个概念性测试而不是你原样使用的东西。该代码如果有效,只会让用户看到翻译名称(Member_Caption)与英文名称匹配的任何国家/地区。例如,在Adventure Works多维数据集中,加拿大是英文名称,加拿大也是该国家的西班牙语翻译名称。但是这段代码不起作用,因为我认为当应用基于角色的安全性时,翻译在连接的这一点上不起作用。

所以我很难看到你如何才能完成你想要的东西。也许其他人会有一个想法。