SSRS 将参数传递给 SSAS
SSRS passing parameter to SSAS
我有一个 SSRS 报告,它将带有日期选择器的日期时间参数传递到我的分析服务。
我的多维数据集中的值字段是日期时间。
我收到错误:
the strtoset function expects a tuple set expression for the 1 argument. a string or numeric expression was used.
这是传递到我的 SSAS 服务器的语法:
SELECT NON EMPTY { [Measures].[Transactions Count] } ON COLUMNS FROM ( SELECT ( STRTOSET(@PaymulDateAlternateTimeKey) ) ON COLUMNS FROM [Transactions]) WHERE ( IIF( STRTOSET(@PaymulDateAlternateTimeKey).Count = 1, STRTOSET(@PaymulDateAlternateTimeKey), [Paymul Date].[AlternateTimeKey].currentmember ) ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
有人可以帮忙吗?
根据错误信息,这部分出错了:
STRTOSET(@PaymulDateAlternateTimeKey)
StrToSet 需要一个可以指定集合的字符串表达式。所以数据时间类型不合格。
您是否尝试传递多值参数?如果是这样,您需要按照 Passing Multiple Member Key values in Parameter
中提到的方法进行操作
我找到了解决方案。如果您以所需格式创建完整路径 (SSAS),STRTOSET 就可以了。就我而言,我必须将数据集(SSRS - Report Builder)的参数部分中的 FX 编辑为:
="[Paymul Date].[AlternateTimeKey].&["+format(Parameters!PaymulDateAlternateTimeKey.Value,"yyyy-MM-dd")+"T00:00:00]"
从那里您可以随意编辑。 DateAdd、CDate、Now() 或 Today()。
请注意,您必须使用完整路径构建整个字符串。
我有一个 SSRS 报告,它将带有日期选择器的日期时间参数传递到我的分析服务。 我的多维数据集中的值字段是日期时间。
我收到错误:
the strtoset function expects a tuple set expression for the 1 argument. a string or numeric expression was used.
这是传递到我的 SSAS 服务器的语法:
SELECT NON EMPTY { [Measures].[Transactions Count] } ON COLUMNS FROM ( SELECT ( STRTOSET(@PaymulDateAlternateTimeKey) ) ON COLUMNS FROM [Transactions]) WHERE ( IIF( STRTOSET(@PaymulDateAlternateTimeKey).Count = 1, STRTOSET(@PaymulDateAlternateTimeKey), [Paymul Date].[AlternateTimeKey].currentmember ) ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
有人可以帮忙吗?
根据错误信息,这部分出错了: STRTOSET(@PaymulDateAlternateTimeKey)
StrToSet 需要一个可以指定集合的字符串表达式。所以数据时间类型不合格。
您是否尝试传递多值参数?如果是这样,您需要按照 Passing Multiple Member Key values in Parameter
中提到的方法进行操作我找到了解决方案。如果您以所需格式创建完整路径 (SSAS),STRTOSET 就可以了。就我而言,我必须将数据集(SSRS - Report Builder)的参数部分中的 FX 编辑为:
="[Paymul Date].[AlternateTimeKey].&["+format(Parameters!PaymulDateAlternateTimeKey.Value,"yyyy-MM-dd")+"T00:00:00]"
从那里您可以随意编辑。 DateAdd、CDate、Now() 或 Today()。 请注意,您必须使用完整路径构建整个字符串。