gpt4 book ai didi

SSAS MDX 除了语句问题

转载 作者:行者123 更新时间:2023-12-04 18:22:00 24 4
gpt4 key购买 nike

我正在处理 Cube MDX 中的一项要求,例如 2008 年及之前的数据不应显示在报告中。

所以想到在 SCOPE 语句中使用 MDX 'EXCEPT' 函数来排除提到的年份。

时间维度是层级结构,年-->季度-->月

初始代码是这样的

SCOPE([Measure Item].[Measure Item].&[SAL]);
SCOPE(EXCEPT({[Time].[Time].[Year]},{[Time].[Time].&[2006],[Time].[Time].&[2007],[Time].[Time].&[2008]}));
this=([Measure Item].[Measure Item].&[SAL]);
END SCOPE;
END SCOPE;

使用部署后的代码,排除了 2008 年及之前的数据。但这里的问题是,我只能看到每年总计的数据。请查看下面屏幕截图中的示例,我看不到季度级别和月份级别的数据。

Not able to see data on quarter and month level

尝试了一些具有后代函数的其他代码,这些代码在 SSMS 中工作,但是当使用 SCOPE 语句编写时它不起作用。

用 SSMS 编写的代码:

  select [Measures].[Value] on 0,
EXCEPT({[Time].[Time].members} ,
{descendants([Time].[Time].&[2006],0,SELF_AND_AFTER),descendants([Time].[Time].&[2007],0,SELF_AND_AFTER)}) on 1 from [TOPAS Reporting]

Working in SSMS but not working in SCOPE statement

我什至可以看到季度和月份级别的数据。但是相同的代码在多维数据集 MDX 的 SCOPE 语句中不起作用。

请帮我解决这个问题,让我知道更多细节。

提前致谢。

最佳答案

您真的需要范围声明吗?

您可以使用以下计算来实现它:

Aggregate(
existing [Time].[Time].&[20090101]:NULL,
[Measure Item].&[SAL]
)

其中 [Time].[Time].&[20090101] 是 Day 级别的第一天。

关于SSAS MDX 除了语句问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46970981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com