2017-09-20 54 views
1

SSRSの新機能です。FromDimDateDateKey、ToDimDateDateKey、InstrumentSNameの3つのパラメータを使用するレポートを作成しました。データセットとクエリでクエリの実行に失敗しました。 (1,343)STRTOSET機能のCONSTRAINEDフラグによって課せられた制限に違反した。私は何をすべきか ?誰でも私を助けることができますか?SSRS - 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 
+1

を?あなたは試しましたか:[CUBE_SIAPDW]から0のStrToSet(@DimInstrumentInstrumentSName)を選択しますか?それは動作しますか? –

答えて

1

これが失敗したことを語っている:

STRTOSET(
      @DimInstrumentInstrumentSName, 
      CONSTRAINED 
     ) 

をあなたがチェックアウトした場合のドキュメントをstrtosetため:https://docs.microsoft.com/en-us/sql/mdx/strtoset-mdx

それは言います拘束されたものは任意であり、

CONSTRAINEDフラグを使用する場合、セット仕様には、0​​の修飾メンバー名または修飾子セット( )を含むタプルが含まれている必要があります。このフラグ は、指定された 文字列による注入攻撃のリスクを軽減するために使用されます。文字列が提供され、 の修飾メンバー名または修飾されていないメンバー名に直接解決できない場合は、次のエラーが表示されます。 "STRTOSET 関数のCONSTRAINEDフラグによる制限に違反しました。

制約を使用している場合はそう、paramenter @DimInstrumentInstrumentSNameは、このような文字列のものにする必要があります - 中括弧に注意してください:それは@DimInstrumentInstrumentSName何を返すん

'{[Geography].[Geography].[Country].[Germany],[Geography].[Geography].[Country].[Canada]}' 
関連する問題