Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssas 如何删除OLAP维度成员第一个空格后的所有字符_Ssas_Mdx_Olap_Cube - Fatal编程技术网

Ssas 如何删除OLAP维度成员第一个空格后的所有字符

Ssas 如何删除OLAP维度成员第一个空格后的所有字符,ssas,mdx,olap,cube,Ssas,Mdx,Olap,Cube,我有一个维度,由以下格式的成员组成:100-销售,200-购买等。我想做的是,从左边开始,删除第一个空格后的所有内容。所以这两个例子的结果是“100”和“200”。我以前在sql中使用过以下代码语法: 左(MyField,CHARINDEX(“”,MyField)-1) 但当我在SSA中应用相同的逻辑时,它似乎不起作用。 左([MyField].[MyField].Members,CHARINDEX(“”,[MyField].[MyField].Members)-1) 有人知道在SSAS中完成相

我有一个维度,由以下格式的成员组成:100-销售,200-购买等。我想做的是,从左边开始,删除第一个空格后的所有内容。所以这两个例子的结果是“100”和“200”。我以前在sql中使用过以下代码语法: 左(MyField,CHARINDEX(“”,MyField)-1)

但当我在SSA中应用相同的逻辑时,它似乎不起作用。 左([MyField].[MyField].Members,CHARINDEX(“”,[MyField].[MyField].Members)-1)

有人知道在SSAS中完成相同任务的语法吗

致以最良好的祝愿, Rubrix

您应该使用函数(而不是CHARINDEX),所以在Adventure Works数据库上类似于以下内容:

with member Measures.[Short Name]
as
left("Aaron A. Allen", instr("Aaron A. Allen", " " ) - 1)

select Measures.[Short Name] on 0,
[Customer].[Customer].members on 1
from [Adventure Works];
或者像这样:

with member Measures.[Customer Short Name]
as
left([Customer].[Customer].currentmember.MEMBER_CAPTION, instr([Customer].[Customer].currentmember.MEMBER_CAPTION, " " ) - 1)

select {Measures.[Customer Short Name], [Measures].[Customer Count]} on 0,
[Customer].[Customer].members on 1
from [Adventure Works]