0

「クロス集計」の方法で、他の部門からデータを受け取ることがよくあります。

color_|_person1_|_person2_|_person3___|
red   | yes     | yes     | no
Blue  | no      | no      | yes
Green | no      | yes     | no

(これはほんの一例です)

実際には、行 (Person[1-2-3]) は別のテーブルの ID です。

したがって、代わりに次のようになります。

IDPerson__|_Color__|_Activated_|
person1   | red    | yes
person1   | Blue   | yes
person1   | Green  | no
etc...

これらのデータは Excel と Access 2003 にありますが、テーブルを自動的に「交差解除」する方法はありますか?

通常のテーブルからクロス集計を作成するのは簡単ですが、反対の方法をまだ見つけていません。:/

助けてくれてありがとう!^^

4

1 に答える 1

1

MS Access には、データの列を行に変換する UNPIVOT 関数はありませんが、UNION ALL クエリを使用できます。

SELECT 'person1' as IDPerson, color, person1 as activated
FROM yourtable
UNION ALL
SELECT 'person2' as IDPerson, color, person2 as activated
FROM yourtable
UNION ALL
SELECT 'person3' as IDPerson, color, person3 as activated
FROM yourtable

デモ(SQL Server デモ) を参照して、動作中のバージョンを確認してください。

于 2013-08-22T20:26:52.207 に答える