如何在SSAS多维数据集中用0替换null

如何在SSAS多维数据集中用0替换null,ssas,mdx,olap-cube,Ssas,Mdx,Olap Cube,我需要在我的SSAS多维数据集中用0替换null。实现这一目标的正确方法是什么 这是我当前的查询: SELECT {([Measures].[Employee Age Count])} ON COLUMNS, { ([Dim Gender].[Gender Name].[Gender Name].ALLMEMBERS * [Dim Age Ranges].[Age Range ID].[Age Range ID].ALLMEMBERS ) } ON ROWS FROM ( SELECT

我需要在我的
SSAS多维数据集中用0替换null。实现这一目标的正确方法是什么

这是我当前的查询:

SELECT {([Measures].[Employee Age Count])} 
ON COLUMNS, { ([Dim Gender].[Gender Name].[Gender Name].ALLMEMBERS * 
[Dim Age Ranges].[Age Range ID].[Age Range ID].ALLMEMBERS ) }  ON ROWS 
FROM ( SELECT ( { [Dim Location].[Location].[Location Grp Name].&[BOSTON] }) ON COLUMNS
FROM [People Dashboard]) 
WHERE ( [Dim Location].[Location].[Location Grp Name].&[BOSTON] )
当前查询的结果:

SELECT {([Measures].[Employee Age Count])} 
ON COLUMNS, { ([Dim Gender].[Gender Name].[Gender Name].ALLMEMBERS * 
[Dim Age Ranges].[Age Range ID].[Age Range ID].ALLMEMBERS ) }  ON ROWS 
FROM ( SELECT ( { [Dim Location].[Location].[Location Grp Name].&[BOSTON] }) ON COLUMNS
FROM [People Dashboard]) 
WHERE ( [Dim Location].[Location].[Location Grp Name].&[BOSTON] )

我还没有测试过,但如果可以的话,你可以试试下面的方法

SELECT {COALESCE (([Measures].[Employee Age Count]),"0") as AgeCount} 
ON COLUMNS, { ([Dim Gender].[Gender Name].[Gender Name].ALLMEMBERS * 
[Dim Age Ranges].[Age Range ID].[Age Range ID].ALLMEMBERS ) }  ON ROWS 
FROM ( SELECT ( { [Dim Location].[Location].[Location Grp Name].&[BOSTON] }) ON COLUMNS
FROM [People Dashboard]) 
WHERE ( [Dim Location].[Location].[Location Grp Name].&[BOSTON] )
我在解决方案中使用了上面的代码。

我认为
IIF(ISEMPTY…
非常标准

我还通过删除许多大括号简化了您的脚本,并将逻辑从subselect移到了basic
WHERE
子句中:

WITH MEMBER [Measures].[MEASURE_NONEMPTY] AS 
  IIF(
     ISEMPTY([Measures].[Service Period Count])
     ,0
     ,[Measures].[Service Period Count]
  )
SELECT 
   {[Measures].[MEASURE_NONEMPTY]} ON 0,
       [Dim Gender].[Gender Name].[Gender Name].ALLMEMBERS 
     * [Dim Age Ranges].[Age Range ID].[Age Range ID].ALLMEMBERS  
     ON 1
FROM [People Dashboard]
WHERE [Dim Location].[Location].[Location Grp Name].&[BOSTON] 
;

它返回的COALESCE函数在Microsoft Sql Server Analysis Services中不存在。我尝试使用COALESCEEMPTY(([Measures].[Employee Age Count]),“0”,但在查询(1,9)中出错该函数要求1参数使用元组集表达式。使用了字符串或数值表达式。请让我检查它,因为我告诉过您当前无法测试它,但请让我再次检查它