Ssas mdx从另一个维度创建新维度作为子字符串

Ssas mdx从另一个维度创建新维度作为子字符串,ssas,mdx,olap-cube,Ssas,Mdx,Olap Cube,我有“城市”维度。 例如: “巴黎” “莫斯科” “伦敦” 我需要在mdxquery中创建新的Cities\u Short\u Name,在这里我可以显示前三个字母。示例:“Par”、“Mos”、“Lon”。我无法在SSAS上更改DSV,您的查询将如下所示。我为此创建了维度和多维数据集的名称,因为您只指定了一个名为Cities的维度属性,而没有指定其他任何内容 with member [Measures].[Cities_Short_Name] as left([Geography].[Cit

我有“城市”维度。
例如:

“巴黎” “莫斯科” “伦敦”


我需要在
mdx
query中创建新的Cities\u Short\u Name,在这里我可以显示前三个字母。示例:“Par”、“Mos”、“Lon”。我无法在
SSAS
上更改
DSV
,您的查询将如下所示。我为此创建了维度和多维数据集的名称,因为您只指定了一个名为Cities的维度属性,而没有指定其他任何内容

with member [Measures].[Cities_Short_Name] as 
left([Geography].[Cities].currentmember.name, 3)

select [Measures].[Cities_Short_Name] 
on 0, 
[Geography].[Cities].[Cities].members on 1 
from [MyCube]

您只需要将地理维度替换为您的维度名称,将MyCube替换为您的多维数据集名称。这将返回城市列表和相关缩写

您不能更改DSV,因为无法添加命名计算?但您希望它是维度的一部分,而不是在查询中一次性创建的内容。是否正确?@mmarie我无法添加命名计算,因为我只有多维数据集的读取权限。我想在查询中创建临时维度。您使用什么来使用数据/生成报表?@mmarie MS SQL management studio。我需要使用维度中更改的值创建MDX查询。