SSRS如何用MDX语句写参数与SQL写的参数类似的如下,在SSRS参数设置可以将参数可用值、默认值都设置为无,手动输入查询,现在都设为无运行SSRS报表报错提示如下图

0
 
SQL参数:
SELECT A.ZCLB_ID,A.ABSE,A.S_YEAR
FROM [TB_HSE_CE_SBMXB] AS A
WHERE [email]A.S_YEAR=@YEAR[/email]
 
MDX参数:
 SELECT NON EMPTY { [Measures].[资产及缴纳安保基金数额(万元)] } ON COLUMNS,
NON EMPTY { (DESCENDANTS([安保基金--资产类别维度].[资产类别].[Level 02].ALLMEMBERS) ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME, PARENT_UNIQUE_NAME, LEVEL_NUMBER ON ROWS
FROM ( SELECT ( STRTOSET(@TIMEYEAR, CONSTRAINED) ) ON COLUMNS FROM [HSE DEV-ABJJ]) WHERE ( IIF( STRTOSET(@TIMEYEAR, CONSTRAINED).Count = 1, STRTOSET(@TIMEYEAR, CONSTRAINED), [TIME].[YEAR].currentmember ) ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

QQ截图20150906173456.png

 
已邀请:
0

- 取是能力,舍是境界 2015-09-06 回答

我还没有学习MDX,不知道下图是否能帮助到你。

QQ截图20150906174019.png

 
0

天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-09-06 回答

注意你传进去的拼接的参数, 保证是类似[DimensionName].[Level].[Member] 这样的结构, 而不是简单的一个年份数字。 结合你这里的情况 应该是 "[DateDimension].[CalendarYear].[Year].&[2015]"
也就是说可以 转换成一个 集合的字符串

例如以下:
主报表(参数是ProductCategory)
="javascript:void(window.open('http://zhengzhiwei/ReportServer_SQL12_ZZW/Pages/ReportViewer.aspx?%2fSSRS_Test_Work%2fDrillThroughDetail&ProductCategory=[Product].[Product%20Categories].[Category].' + escape('&') + '[" + Fields!CategoryKey.Value + "]'))"

子报表MDX:
 SELECT NON EMPTY { [Measures].[Internet Tax Amount], [Measures].[Internet Sales Amount] } ON COLUMNS, NON EMPTY { ([Date].[Calendar Year].[Calendar Year].ALLMEMBERS * [Product].[Category].[Category].ALLMEMBERS * [Product].[Subcategory].[Subcategory].ALLMEMBERS * [Product].[Product].[Product].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( STRTOSET(@ProductCategory, CONSTRAINED) ) ON COLUMNS FROM [Adventure Works]) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

 

要回复问题请先登录注册