Welcome

首页 / 数据库 / SQLServer / SSRS:基于时间段参数的MDX查询以及时间日历Date Picker的时间类型参数化

SSRS:基于时间段参数的MDX查询以及时间日历Date Picker的时间类型参数化2014-05-01 cnblogs BIWORK今天在天善问答里看到一个问题,如果我没有理解错的话,它应该是指比如在一个报表中选取一个 时间段,然后求出这个时间段的某个 Measure 的 SUM 和。并且同时求出这两个时间点对应的上一年 的时间点之间的同一个 Measure 的 SUM 和。

比如当前选取的时间点是 2004年1月8日,结束时间点是 2004年3月1日。那么不仅要求这个时间段 的某度量值总和,并且还要求 2003年1月8日到2003年3月1日时间段的某度量值总和。 也就是说,这 个时间段是一个动态的,根据输入的两个时间段决定当年和上一年的计算。

这个里面有几个小知识点,于是总结了一下,先看下面这个 Report  的效果。

还有使用 Date Picker 的效果 (注意如果使用日历控件,那么 StartDate 和 EndDate 的类型都 是 Date/Time 类型)-

非 Date Picker 参数时的设计

在 Cube 中查一下验证一下,查询结果都是一样的。

WITH MEMBER [Measures].[Reseller Sales Amount of Period]ASSUM( [Date].[Calendar].[Date].&[20040108]:[Date].[Calendar].[Date].&[20040301],[Measures].[Reseller Sales Amount] )MEMBER [Measures].[Reseller Sales Amount of Last Period]ASSUM( [Date].[Calendar].[Date].&[20030108]:[Date].[Calendar].[Date].&[20030301],[Measures].[Reseller Sales Amount] )SELECT NON EMPTY{[Measures].[Reseller Sales Amount of Period], [Measures].[Reseller Sales Amount of Last Period]} ON COLUMNS,NON EMPTY { ([Product].[Category].[Category].ALLMEMBERS ) } ON ROWSFROM [Step-by-Step]