我是SSRS的新手,我使用三个参数FromDimDateDateKey,ToDimDateDateKey和InstrumentSName进行报告,我收到错误,查询执行失败,我的DataSet和查询(1,343)STRTOSET函数中CONSTRAINED标志所施加的限制是侵犯。我该怎么办 ?有人可以帮帮我吗?
这是我的MDX查询:
SELECT
NON EMPTY { [Measures].[Price] } ON COLUMNS,
NON EMPTY {
(
[DimDate].[Date Key].[Date Key].ALLMEMBERS *
[Dim Instrument].[Instrument Code].[Instrument Code].ALLMEMBERS *
[Dim Instrument].[Instrument S Name].[Instrument S Name].ALLMEMBERS
)
} DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_VALUE, MEMBER_UNIQUE_NAME ON ROWS
FROM(
SELECT(
STRTOSET(
@DimInstrumentInstrumentSName,
CONSTRAINED
)
) ON COLUMNS
FROM(
SELECT(
STRTOMEMBER(@FromDimDateDateKey, CONSTRAINED):
STRTOMEMBER(@ToDimDateDateKey, CONSTRAINED)
) ON COLUMNS
FROM [CUBE_SIAPDW]
)
) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
答案 0 :(得分:1)
它告诉你这已经失败了:
STRTOSET(
@DimInstrumentInstrumentSName,
CONSTRAINED
)
如果您签出了strtoset
:https://docs.microsoft.com/en-us/sql/mdx/strtoset-mdx
它说CONSTRAINED是可选的,并且:
使用CONSTRAINED标志时,设置规范必须包含 限定或不合格的成员名称或一组包含的元组 括号{}括起来的限定或不合格的成员名称。这面旗帜 用于通过指定的方式降低注射攻击的风险 串。如果提供的字符串无法直接解析 限定或不合格的成员名称,出现以下错误: " STRTROSET标志在STRTOSET中施加的限制 功能被违反了。"
因此,如果使用约束,则参数@DimInstrumentInstrumentSName
将需要是这样的字符串 - 请注意大括号:
'{[Geography].[Geography].[Country].[Germany],[Geography].[Geography].[Country].[Canada]}'