SQL SSAS计算成员显示#NUM!在立方体里?
我在SQL Server 2008 SSAS多维数据集中定义了3个计算成员SQL SSAS计算成员显示#NUM!在立方体里?,sql,sql-server,ssas,Sql,Sql Server,Ssas,我在SQL Server 2008 SSAS多维数据集中定义了3个计算成员 CALCULATE; /* Calculate Sales Volume */ CREATE MEMBER CURRENTCUBE.[Measures].[Ship Volume] AS [Measures].[QTY SHIPPED] + [Measures].[QTY ADJUST], FORMAT_STRING = "Standard", NON_EMPTY_BEHAVIOR = { [QT
CALCULATE;
/* Calculate Sales Volume */
CREATE MEMBER CURRENTCUBE.[Measures].[Ship Volume]
AS [Measures].[QTY SHIPPED] + [Measures].[QTY ADJUST],
FORMAT_STRING = "Standard",
NON_EMPTY_BEHAVIOR = { [QTY SHIPPED], [QTY ADJUST] },
VISIBLE = 1 , DISPLAY_FOLDER = 'Calculated Members' , ASSOCIATED_MEASURE_GROUP = 'Sales';
CREATE MEMBER CURRENTCUBE.[Measures].[Avg Price USD]
AS [Measures].[NET SALES] / [Measures].[SHIP VOLUME],
FORMAT_STRING = "Standard",
VISIBLE = 1 , DISPLAY_FOLDER = 'Calculated Members' , ASSOCIATED_MEASURE_GROUP = 'Sales' ;
CREATE MEMBER CURRENTCUBE.[Measures].[Avg Price CAD]
AS [Measures].[NET SALES CAD] / [Measures].[SHIP VOLUME],
FORMAT_STRING = "Standard",
VISIBLE = 1 , DISPLAY_FOLDER = 'Calculated Members' , ASSOCIATED_MEASURE_GROUP = 'Sales' ;
语法很好,但是当我通过Excel查看多维数据集时,一些值有#NUM!作为价值。。不知道为什么会这样?这是因为被零除的问题吗?我该如何解决这个问题?如果
B
不等于0,可以检查-A/B=C
:
CALCULATE;
/* Calculate Sales Volume */
CREATE MEMBER CURRENTCUBE.[Measures].[Ship Volume]
AS [Measures].[QTY SHIPPED] + [Measures].[QTY ADJUST],
FORMAT_STRING = "Standard",
NON_EMPTY_BEHAVIOR = { [QTY SHIPPED], [QTY ADJUST] },
VISIBLE = 1 , DISPLAY_FOLDER = 'Calculated Members' , ASSOCIATED_MEASURE_GROUP = 'Sales';
CREATE MEMBER CURRENTCUBE.[Measures].[Avg Price USD]
AS Case
When IsEmpty([Measures].[SHIP VOLUME] )
THEN 0
ELSE [Measures].[NET SALES] / [Measures].[SHIP VOLUME] END,
FORMAT_STRING = "Standard",
VISIBLE = 1 , DISPLAY_FOLDER = 'Calculated Members' , ASSOCIATED_MEASURE_GROUP = 'Sales' ;
CREATE MEMBER CURRENTCUBE.[Measures].[Avg Price CAD]
AS Case
When IsEmpty([Measures].[SHIP VOLUME] )
THEN 0
ELSE [Measures].[NET SALES CAD] / [Measures].[SHIP VOLUME] END,
FORMAT_STRING = "Standard",
VISIBLE = 1 , DISPLAY_FOLDER = 'Calculated Members' , ASSOCIATED_MEASURE_GROUP = 'Sales' ;
您还可以尝试更改IsEmpty([Measures].[SHIP VOLUME])
至[措施][发货量]=0
编辑
尝试将此IsEmpty([Measures].[SHIP VOLUME])
更改为
[Measures].[SHIP VOLUME]为空或[Measures].[SHIP VOLUME]=0
我已经尝试了上面的示例,但仍然得到了#NUM!对于列表中的一些列。。然而,它对90%的人有效。。该列可能为0/NULL或空白。。。有没有办法使用IIF语句?