替换 mdx 中的空字段

Replacing a Null field in mdx

我有一种情况,我的列中有一个空值,该值需要替换为另一个值。

当前 mdx

select
non empty { [measures.[Color count]} on columns
,non empty { [ColorColor].[Color].[Color].allmembers}
Dimention properties
member caption
,member_unique_name
on rows
from [Colors]

当前结果

Color     Color Count
null      1
Red       1
Blue      1
Purple    1
Black     1

预期结果

Color     Color Count
Silver    1
Red       1
Blue      1
Purple    1
Black     1

基本上我需要用颜色 "silver" 替换 null。此外,null 需要在 mdx 中而不是在 ssrs 中替换。

使用 WITH MEMBER 你可以创建一个新项目,给它任何你想要的名字,并告诉它从 NULL 项目中获取它的值。然后,您可以使用 EXCEPT 函数的第二个参数隐藏不需要的项目。

with member [ColorColor].[Color].[Color].[MyNewName] 
AS [ColorColor].[Color].[Color].[null]
select
non empty { [measures.[Color count]} on columns
,non empty { 
[ColorColor].[Color].[Color].[MyNewName],
EXCEPT({[ColorColor].[Color].[Color].allmembers},{[ColorColor].[Color].[Color].[null]})
}
Dimention properties
member caption
,member_unique_name
on rows
from [Colors]