【发布时间】: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