MDX 计算一段时间内每小时发生的次数

MDX count occurrences per hour over a time

希望获取 SSAS 的 MDX 查询,以获取任何时间范围内每小时的平均报表执行次数。我正在使用具有 SSRS 元数据的多维数据集......我想获得每小时的平均执行次数。
我想我必须计算涉及多少小时....因为许多报告只 运行 到下午 5 点....所以我不能做一个连续的 24 小时时间框架。

到目前为止我得到了类似的东西......但它始终除以所有时间......而且我已经在跟踪执行的总次数......

这是我拥有的 mdx...计算器正在运行,但它一直将特定日期的所有内容除以 16...即...对于中午 12 点....它除以总交易额16 小时....但交易仅发生两次....在中午 12 点至下午 1 点之间。所以它应该除以 2.....

   WITH MEMBER [Measures].[Hour Count] AS
        sum(
                [Execution End Time].[24 Hour Time].[Hour 24].MEMBERS,
                IIF([Measures].[Report Execution Count] >= 1,1,0))
        MEMBER [Measures].[Average Exec Per Hour] AS
                ([Measures].[Report Execution Count]/[Measures].[Hour Count])

select
  {[Measures].[Hour Count]
, [Measures].[Report Execution Count] as ['Transaction Count']
, [Measures].[Average Exec Per Hour]}
on Columns
        ,[Execution End Time].[24 Hour Time].[Hour 24]  on Rows
from [BICC DM]
where  ([Execution End Date].[Calendar Dates].[Date Key].&[20160707])

Data extract

将第一个度量的定义更改为以下 -

WITH MEMBER [Measures].[Hour Count] AS
IIF(
    ([Execution End Time].[24 Hour Time].CurrentMember,[Measures].[Report Execution Count])  >= 1,
    1,
    0
   )

您现有度量的问题在于它正在评估静态集的值(即 [Execution End Time].[24 Hour Time].[Hour 24].MEMBERS)。我猜您想做的是在 当前 小时对其进行评估。