【问题标题】:Why does Excel Grand Total returns error (#VALUE!) when getting data from SSAS OLAP Cube (MDX)?为什么从 SSAS OLAP Cube (MDX) 获取数据时 Excel 总计返回错误 (#VALUE!)?
【发布时间】:2021-01-21 10:50:15
【问题描述】:

我在连接到 OLAP 多维数据集的 Excel 中的总计出现问题。我有一个在行级别正确计算的度量,但在总计中返回错误。它返回给我一个错误#VALUE! .

编辑: 我已经做了一些经验,并验证了该错误仅在我选择了一年以上时才会出现。如果我只有一个,则数据返回正确。

我尝试了几次对度量的更改,但没有成功。

原点度量:

IIF([Tipo de Stock].[Tipo de Stock].CurrentMember IS [Tipo de Stock].[Tipo de Stock].&[7] OR, NULL,
SUM({NULL:[Data].[Por Mês].PrevMember},[Measures].[Movimento Valor])
)

尝试解决问题的一些改动:

IIF([Tipo de Stock].[Tipo de Stock].CurrentMember IS [Tipo de Stock].[Tipo de Stock].&[7] OR IsEmpty([Measures].[Movimento Valor]), NULL,
SUM({NULL:[Data].[Por Mês].PrevMember},[Measures].[Movimento Valor])
)

IIF([Tipo de Stock].[Tipo de Stock].CurrentMember IS [Tipo de Stock].[Tipo de Stock].&[7], NULL,
SUM({NULL:[Data].[Por Mês].PrevMember},IsEmpty([Measures].[Movimento Valor],0))
)

IIF([Tipo de Stock].[Tipo de Stock].CurrentMember IS [Tipo de Stock].[Tipo de Stock].&[7], NULL,
IsEmpty(SUM({NULL:[Data].[Por Mês].PrevMember},[Measures].[Movimento Valor]),0)
)

我也尝试使用 CoalesceEmpty 代替 IsEmpty。

Edit2:我尝试实现一个 SCOPE,它返回总计中的值,但这些值是所有行的总和。这个想法是总计具有第一个值。

SCOPE([Measures].[Stock Inicial Valor]); 
    SCOPE([Data].[Por Mês].[Mês].members);  
        THIS = SUM({NULL:[Data].[Por Mês].PrevMember},[Measures].[Movimento Valor]); 
    END SCOPE;      
END SCOPE;

任何人都可以帮助找到正确的轨道。

感谢您的所有帮助。

【问题讨论】:

标签: excel ssas mdx


【解决方案1】:

请尝试以下方法:


IIF(
  [Tipo de Stock].[Tipo de Stock].CurrentMember IS [Tipo de Stock].[Tipo de Stock].&[7] 
  OR [Data].[Por Mês].PrevMember IS NULL,
  NULL,
  SUM({NULL:[Data].[Por Mês].PrevMember},[Measures].[Movimento Valor])
)

我怀疑问题在于 {Null:Null} 是不允许的,因此我们在新的 IIF 声明中防止出现这种情况。

如果这不是问题,请安装此免费 Excel 扩展程序并使用此feature 获取正确的错误消息以进一步排除故障。

【讨论】:

  • 感谢 Greg,我尝试了您的建议,但没有成功。我尝试实现一个范围,它返回总计中的值,但值是所有行的总和。这个想法是总计具有第一个值。
  • @RicardoCastro 您是否安装了该扩展程序并捕获了#VALUE 后面的错误!细胞?您能否提供更新后的屏幕截图,显示我的计算结果?
  • 嗨@Greg,首先非常感谢您的帮助。但是,我不再使用 Scope 出现错误,因为我将它放在上面的版本中,或者您给我的添加“[Date]。[Per Month] .PrevMember IS NULL”的建议,但是当我Total 中需要的是第一个成员的值。这个想法是,这个指标返回每月的初始库存,总的来说,我想要正在查看的第一个月的价值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多