【问题标题】:MDX wrong sum on grand total in excelexcel中的MDX总和错误
【发布时间】:2023-03-10 13:34:01
【问题描述】:

我的 SSAS 多维数据集使用货币转换智能,它会显示一些根据货币汇率计算得出的度量。但是,在日期层次结构维度中,我需要添加更多的 MDX 来制作我自己的日期层次结构以显示正确的总和,如下所示。

> // Scope for sum [Calendar year - month - date].[Month] SCOPE
> ([Date].[Calendar year - month - date].[Month].MEMBERS,
> {[Measures].[Revenue],  Measures.[Sales]});
>     THIS = Sum( EXISTING [Date].[Calendar year - month - date].CurrentMember.Children ,[Measures].CurrentMember); END SCOPE;
> 
> // Scope for sum [Calendar year - month - date].[Calendar year] SCOPE
> ([Date].[ Calendar year - month - date].[Calendar year].MEMBERS, 
> {[Measures].[Revenue],  Measures.[Sales]});
>     THIS = Sum( EXISTING [Date].[Calendar year - month - date].CurrentMember.Children ,[Measures].CurrentMember); END SCOPE;

这在月份和日历年级别上运行良好。 但是,在 Excel 中查看总计时,它总是显示所有年份的总和。 当我将过滤器更改为仅选择 2 年时,它仍然显示所有年份的总和。

【问题讨论】:

  • 那是因为 [Date].[Calendar year - month - date].CurrentMember 是 [Date].[Calendar year - month - date].[All]。这个范围的目的是什么?
  • 感谢您的回答。范围是 MDX 货币计算逻辑,它也应该适用于 [日历年 - 月 - 日期] 层次结构。那么,如果我不想要 [Date].[Calendar year - month - date].[All],如何为选定的 Calendar year 指定 currentmember?
  • 我认为这是总计的范围,但我的脚本仍然总结了所有年份。 SCOPE ([Date].[Calendar year - month - date], {[Measures].[Revenue],Measures.[Sales]}); THIS = Sum( EXISTING [Date].[Calendar year - month - date]. [Dep calendar year].CurrentMember ,[Measures].CurrentMember);结束范围;
  • 我还是没有头绪。总价值和它的孩子的总和有什么不同吗?这是什么?
  • 嗨,我的问题是我如何编写 MDX 来仅对选定的值求和.. 对于上述范围.. 例如,如果我有 2015 年到 2019 年,我只选择 2015 年和2016 年,我想总计显示 2016+2016 年的总和。但是,SUM Existing with currentmember 只显示所有年份的总和...

标签: sql-server ssas mdx


【解决方案1】:

不需要 MDX。您必须在 Excel 中切换 VisualTotals 复选框:

【讨论】:

  • 感谢您的帮助。不幸的是,它不适用于我的立方体。只有 MDX 可以修复它..
  • 嗯?你的立方体是什么意思?
  • 此答案在使用命名集时适用于总计
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多