提问人:Jon Raynor 提问时间:10/7/2011 更新时间:10/8/2011 访问量:3747
通过使用 DateTime 选取器将日期时间参数传递给 MDX 查询,在 SSRS 报表生成器中筛选数据
Filtering data in SSRS Report Builder by passing datetime parameters using DateTime Picker to MDX Query
问:
我是 MDX 的菜鸟,但我已经让 SSRS 将参数与常规 SQL 查询和存储过程一起使用。我想使用开始日期和结束日期筛选多维数据集,因为其中有很多数据,并且使用筛选器报告花费的时间太长。在 SSRS 中,我使用日期时间选取器控件来选取日期。
下面是我使用查询设计器设置参数后来自 SSRS 的 MDX 查询:
SELECT NON EMPTY { [Measures].[Detail Presentation Count], [Measures].[Duration], [Measures].[DurationSeconds] } ON COLUMNS, NON EMPTY { ([Cube View Detail Presentation Country Dimension].[Country Alpha2].[Country Alpha2].ALLMEMBERS * [Cube View Detail Presentation Country Dimension].[English Short Name].[English Short Name].ALLMEMBERS * [Presentation].[Name].[Name].ALLMEMBERS * [Presentation].[Revision].[Revision].ALLMEMBERS * [Presentation].[ID].[ID].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( STRTOMEMBER(@FromCubeViewDetailPresentationTimeDimensionCreated, CONSTRAINED) : STRTOMEMBER(@ToCubeViewDetailPresentationTimeDimensionCreated, CONSTRAINED) ) ON COLUMNS FROM [DetailPresentation]) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
我尝试从 SSRS 参数传入各种格式的日期值,但没有一个有效,并且查询不会运行。日期的格式如下:2011-01-04 06:10:38.000000。
我需要传递的日期的格式是什么,或者我是否需要构建比这更多的日期字符串才能使 MDX 查询正常工作?
答:
0赞
Jon Raynor
10/8/2011
#1
我想我想通了,基本上使用 MDX,您不会发送值作为参数,而是发送维度成员。
假设我们想按月筛选,通常我会对 SSRS 参数执行如下操作:
Month(Parameters!StartDate.Value)
但是,这是行不通的。相反,MDX 期待的是这样的内容:
[Cube View Detail Presentation Time Dimension].[Month Number].&[3]
因此,从 SSRS 参数的角度来看,它将是:
=“[Cube View Detail Presentation Time Dimension].[Month Number].&[“ + MONTH(Parameters!StartDate.Value) + “]”
如果维度成员存在,则此工作有效。例如,如果您在一个月内发送 15 个,则预计它会失败,因为系统中只有 12 个月。
评论