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()。 请注意,您必须使用完整路径构建整个字符串。