3
私は、次の表を持っている場合:メンバー(森?)単一のテーブルに
Member_Key Member_Name col1 Mem1 col2 Mem2 col3 Mem3 col4 Mem4
-----------------------------------------------------------------------------------------------
31 100.00 - Some Account 9 Rollup1 268 Rollup2 246 Rollup3 238 Rollup4
31 100.00 - Some Account 270 Rollup5 271 Rollup6 NULL NULL NULL NULL
31 100.00 - Some Account 283 Rollup7 NULL NULL NULL NULL NULL NULL
所望の出力は次のようになります。
Member_Key Member_Name col1 mem1 col2 mem2 col3 mem3 col4 mem4 col5 mem5 col6 mem6 col7 mem7
私はこれはで行わ取得しようとしてきました1のアカウントを使用して、y個のロールアップを持つx個のアカウントに対して動的にして、1つの可変列結果にするようにすることはできますが、PIVOTまたはSELECT CASEを使用してこれを動作させることはできません。どんなヘルプやリンクも大歓迎です。
あなたは私たちに多くの情報を与えることができます。私は 'member_key'と' member_name'が1つのテーブルから来ていると推測しています。 colxとmemxの列は、最初の列にリンクする別の表からですか?最初のテーブルにcol1、mem1、col2、mem2、...、colc、memnがある場合、なぜピボットが必要でしょうか? – Kyra
SSISを使用して、階層情報を2つのテーブルに分割しました.1つは実際の階層(親と子)、次にアカウント自体のリストです。 colxとmemxの列は階層テーブルから来ています。そこでは、階層のパスを取得するために、(sqlserverbible.com ch.18で)マテリアライズされたパス関数を使用しました。この例では、簡単にするために1つのアカウントを使用しました。ただし、実際の表では、階層にさまざまなレベルのアカウントが多数存在します。最終的なテーブルは必ずしも7つのカラムを持つわけではありません。私はそれを動的にするためにピボットを使用しようとしていました。 – Tom
実際、ch.17 ... http://sqlserverbible.com/files/sqlserver2008bible_ch17.pdfです。私はマテリアライズされたパス(文字列、 '2,54,220')をとり、スクリプトコンポーネントを使用して数値を解析します。上記の元の例の表は、スクリプトコンポーネントの出力がアカウントのリストを持つテーブルに結合された結果です(名前と必要な他のメタデータを取得するため)。 – Tom