MDX计数一次每小时发生一次

时间:2016-07-09 00:55:45

标签: sql-server ssas mdx ssas-2012

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

到目前为止,我得到了类似的东西......但是它始终按小时划分......而且我已经跟踪了执行的总数......

这里是我有的mdx ...计算工作正在运行,但它会在特定的一天将所有内容除以16 ...即......直到12点....它除以总数交易时间为16小时....但交易仅发生两次......在12-1PM之间。所以它应该除以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

1 个答案:

答案 0 :(得分:0)

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

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)。我想你想要做的是为当前小时评估它。