我有一个SSRS报告,它将带有日期选择器的datetime参数传递给我的分析服务。多维数据集中的值字段是datetime。
我得到错误:
strtoset函数要求1参数使用元组集表达式。使用了字符串或数字表达式。
这是传递给我的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
有人能帮忙吗?
我找到了解决方案。如果您以所需的格式创建完整路径(SSAS(,STRTOSET是可以的。在我的情况下,我不得不将数据集(SSRS-报表生成器(的参数部分中的FX编辑为:
="[Paymul Date].[AlternateTimeKey].&["+format(Parameters!PaymulDateAlternateTimeKey.Value,"yyyy-MM-dd")+"T00:00:00]"
从那时起,您可以随心所欲地进行编辑。DateAdd、CDate、Now((或Today((。请注意,您必须使用完整的路径构建整个字符串。
根据错误消息,此部分出错:STRTOSET(@PaymulDateAlternateTimeKey(
StrToSet需要一个可以指定集合的字符串表达式。因此,数据时间类型是不合格的。
您是否试图传递多值参数?如果是这样,您需要遵循方法,如在参数中传递多个成员键值中提到的方法