2

データ ソースから抽出されたアイテムのリストを水平方向のテーブルに表示するには、レポート ビューアのテーブルが必要です。

データ ソースには、1 つの SQL 列に含まれる文字列のリストが含まれているだけです。

水平レポート テーブルの例

これまでに試したテーブルは、列に表示するだけです。

どうもありがとう!

4

1 に答える 1

0

これが私が要件について理解したことです。テーブルからアイテムのリストから選択し、横のテーブルでレポートします。表の値は、既知の場合と未知の場合があります。

私の例では、項目のリストから変数に水平方向の連続した文字列を生成する選択から単一の文字列を作成しています。

次に、新しい変数を使用し、目的のテーブルからの選択を含む動的 SQL ステートメントを作成します。動的 SQL では、PIVOT が正しくフォーマットされるように単純な置換を行います。これにより、事前にテーブルにどのデータが存在するかわからないという問題が解決されます。Pivot では、フィールド値を使用して列にラベルを付ける必要がありますが、テーブルの値が不明であるか、常に変化している場合、これは困難な場合があります。

    DECLARE @FieldValueString VARCHAR(MAX)
        SELECT @FieldValueString = Coalesce(@FieldValueString + ',', '') + cast(ssctab as         varchar) from RA_sysScreen 

    PRINT @FieldValueString
    DECLARE @sql VARCHAR(MAX)
    SET @sql = 'SELECT * FROM
                (SELECT ssctab FROM [RA_sysScreen])qry
                PIVOT (MAX(ssctab) FOR ssctab in (['+REPLACE(@FieldValueString,',','],[')+']))         as pvt'
    print @sql
    EXEC(@sql)

お役に立てれば。これについて他の回答をお待ちしております

于 2014-08-08T22:35:12.733 に答える