• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クエリの実行結果に列を追加するには?)

クエリの実行結果に列を追加する方法と集計結果を自動化する方法について

このQ&Aのポイント
  • 顧客コード別にWeekごとに訪問回数をカウントするクロス集計クエリを作成しました。
  • 現在はクロス集計クエリの結果を手作業で列を追加して集計していますが、自動化する方法はありますか?
  • また、指定したWeekのみの結果を取得するにはどうすればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.1

「駆使」というほど難しくないですよ。 【実行イメージ3】からアプローチをします。 そのままではあまり意味が無いので、下記のように変えて説明します。 顧客コード  week1 week2 合計1 000000001   2   4 6  000000002   1   3  4 このようにしたい場合、「合計1」フィールドを式フィールドにすれば良いのです。 やり方は「合計1」フィールドにしたい欄(通常フィールド名を指定するところ)で右クリック→ビルドを選んで、 合計1: [該当クエリ]![week1] + [該当クエリ]![week2] とするのです。 ここで注意ですが、この選択クエリの列方向はフィールド、列方向はレコードになりますが、フィールドは名称がかぶってはいけないので、合計1としています。 それでは、【実行イメージ2】に移ります。 2週ごとの合計は【実行イメージ1】のクエリをベースに上記のように2週ごとに「合計n」という名の式フィールドを挿入すれば良いのです。「総合計」はweek1からweek53までの総和になります。 クロス集計前のベースとなったテーブルがどのような構造で作られ、運用されているかわからないので、これ以上深くは書けませんが、このクエリの利用頻度はどの程度でしょうか? 結構頻繁に使い、要求変更もなく(例えば月集計)、なおかつライブ性が求められるものならば、手間ですが上記クエリを完成させればよいと思うのですが、頻繁に使わないのであれば、今までどおりExcelで手作業で行い、要求変更が予測され、ライブ性が求められる場合は、VBAをつかって動的にテーブルを作るようにした方が良いかと思います。

umecat
質問者

お礼

ご回答いただきありがとうございます。アドバイスいただいた方法で早速トライしてみます。頻度としましては最低、月1度。場合によっては2週間に1度実行する可能性があります。なのでなんとか自動化したいな~と思うのです。

関連するQ&A