Access 2007 を使用していますが、クエリの作成についてサポートが必要です。これが非常に長い場合は、申し訳ありません!詳細が多いほど理解が深まると思います。私はプログラマーではありません。誰かが助けてくれることを願っています。
非数値データを特性/値を共有する単一の行に折りたたむ/要約する/ロールアップする方法を知る必要があります。私が欲しいのは、クロス集計クエリのようなものです。その共有/共通値の1つの行に沿って、異なる行からの一意のセル値をピボット/列に表示したいからです。ただし、私のデータは数値ではなく、クロス集計では禁止されているアルファベットの列見出しが必要です。
データ:
- Badge_code 24 は、110、210、および 320 の 3 つの場所で生成されます (シカゴ、ロックフォード、およびセントルイスを表します)。
- Badge_code B9 の 2 か所: 110 と 280 (シカゴとピオリア)
- Badge_code C1 の 3 つの場所: 200 と 210 (インディアナポリスとロックフォード)
各 Badge_code-location の組み合わせは、合計 8 行の個別の行にあります。バッジ コードの数は増える可能性があります。
私が試したクエリ:
Count(tbl_BadgeType.Badge_type_number) AS CountOfBadge_type_number
SELECT tbl_BadgeType.Badge_code
FROM tbl_BadgeType
GROUP BY tbl_BadgeType.Badge_code
PIVOT tbl_BadgeType.Location_production;
Badge_type_number は、各バッジ コード位置使用コンボを識別するために使用される主キーです。
結果:
Badge Code 110 200 210 280 320
24 1 1 1
B9 1 1
C1 1 1
列見出しは数値であり、クロス集計の場所の名前に変更できません。「1」ではなく「はい」が必要です。(明らかに、クロスタブのカウント関数であるため、これらは 1 であり、実際には必要ありません...)
望ましい結果:
Badge Code Chicago Indianapolis Rockford Peoria St. Louis
24 Yes No Yes No Yes
B9 Yes No No Yes No
C1 No Yes Yes No No
問題/質問:
- 厳密な意味でのクロス集計クエリは必要なものではありませんが、その「ロールアップ」効果をシミュレートする方法がわかりません。これは、6 ページのあいまいさと 1 ページの有用な明快さの違いです。
- クロス集計が適している場合、「1」の値を「はい」として表示する方法がわかりません。他のクエリやレポートで IIF ステートメントを使用して、1/0 値を「はい/いいえ」に「変換」しましたが、このクエリまたはそのレポートのどこに IIF を配置すればよいかわかりません。
これは理にかなっていますか?求めすぎですか?私に希望はありますか?:^)