ssas - 跨交叉连接维度运行总计的 MDX 查询

标签 ssas mdx

我有一个具有以下三个维度的多维数据集:日期、时间和类次。我有一个名为 [Pieces Succeeded] 的度量,我想要一个类次按小时计算的 [Pieces Succeeded] 总计。 Shift 可以跨越一天以上,因此在以下查询中,我对日期和时间维度进行了交叉连接。

with
member [Measures].[Pieces Succeeded Running Total] as
    sum([Time].[Hierarchy].[Hour].FirstMember:[Time].[Hour].CurrentMember, [Measures].[Pieces Succeeded])
select
    { [Measures].[Pieces Succeeded], [Measures].[Pieces Succeeded Running Total] } on columns,
    nonempty(crossjoin([Date].[Month Hierarchy].[Day].Members, [Time].[Hierarchy].[Hour].Members)) on rows
from
    [OEE]
where
    [Shift].[Month Hierarchy].[Shift].&[501]

这给出了以下结果:
Date        Hour  Pieces Succeeded  Pieces Succeeded Running Total
03 Apr 2011 22    6393              6393
03 Apr 2011 23    6424              12817
04 Apr 2011 00    3816              3816
04 Apr 2011 01    5510              9326
04 Apr 2011 02    2090              11416
04 Apr 2011 03    7489              18905
04 Apr 2011 04    7307              26212
04 Apr 2011 05    5706              31918

我将如何让总和在交叉连接集上工作,以便运行总计在几天内工作?

谢谢

最佳答案

我花了一整天的时间,终于弄明白了。我认为它可能对其他人有值(value),所以这是解决方案:

with

set DateHours as
    nonempty(crossjoin([Date].[Month Hierarchy].[Day].Members, [Time].[Hierarchy].[Hour].Members), [Measures].[Pieces Succeeded])

member [Measures].[Rank] as
    rank(([Date].[Month Hierarchy].CurrentMember, [Time].[Hierarchy].CurrentMember ), DateHours) 

member [Measures].[Running Pieces Succeeded] as 
    iif([Measures].[Rank] = 1, [Measures].[Pieces Succeeded], sum(head(DateHours, [Measures].[rank]), [Measures].[Pieces Succeeded]))

select
    { [Measures].[Pieces Succeeded], [Measures].[Running Pieces Succeeded] } on columns,
    non empty { DateHours } on rows

from
    [OEE]

where
    [Shift].[Month Hierarchy].[Shift].&[501]

关于ssas - 跨交叉连接维度运行总计的 MDX 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10086791/

相关文章:

mdx - MDX 计算成员的 DAX 等效项

sql-server - MDX - 检索当前在 where 子句中使用的成员级别

reporting-services - 对使用 SSAS 作为最终用户临时报告解决方案的担忧

ssas - 使用 DAX 的表格中月份和年份的百分比差异和计数

ssas - 慢速 SSAS 累积和计算度量

sql-server - 基于计算维度成员的SSAS分区切片

sql-server - SQL Server Analysis Services 中的多对多关系;第二个多对多关系不起作用

ssas - 基于strtomember访问前一个成员

ssas - ROLAP 模式是否需要处理?