【问题标题】:Average of Last 90 days data, but for each hour samples in a day using MDX query过去 90 天数据的平均值,但使用 MDX 查询在一天中的每个小时样本
【发布时间】:2026-01-26 15:25:01
【问题描述】:

我有一个度量作为“功率”汇总的 SUM、时间维度作为年-> 月-> 日-> 小时和位置维度。

我们存储的是小时级别的电力数据。

现在我们要求针对特定地点和日期,过去 90 天每小时的平均电量。它应该显示 24 列,每个小时平均过去 90 天 power_total。

以下查询仅给出某个位置1 每小时的该日期的功率。但是我需要一个日期和位置每小时的最后 90 天平均功率。这个需求怎么做?

选择 {Hierarchize({[Time.Monthly].[2013].[9].[20].Children})} 在列上, 非空 {CROSSJOIN({Hierarchize({[Location].[Location1]})},{[Measures].[power]})} ON ROWS
FROM [Power_Trend]

我对 MDX 很陌生。

请帮帮我。

-普拉卡什

【问题讨论】:

    标签: mdx


    【解决方案1】:

    您可以使用 LAG 函数创建日期范围:description with some simple examples

    其次你应该用strtomember创建当前日期成员,例如:

    strtomember("[Time.Monthly].["+cstr(year(now())) + "].[" + cstr(month(now())) + "].[" + cstr(day(now())) +"]")
    

    【讨论】:

    • 感谢您的回复。你是对的,我需要使用 Lag 来查找日期范围。但我需要每小时的数据,假设滞后 90 天。这就是我感到震惊的地方。我的意思是小时会员级别,但在日会员级别滞后..
    【解决方案2】:

    【讨论】: