• 締切済み

Accessのクロス集計

データテーブル 地域コード 年  データ 12204   2002   70 12204   2003  70 12204   2004  70 12205   2002  100 12205   2003  100 12205   2004  100 12206   2002  50 12206   2003  50 12206   2004  50 地域テーブル 地域コード 市名  合併情報 12202   松戸市 12203   市川市   12204   野田市   12205    柏市   沼南町(沼南町は柏市は合併しましたという意味) 12206   昭南町 作成したいクロス集計表 市名  2002 2003 2004 野田市  70  70  70 柏市  150  150  150 沼南町 50  50  50 市名と年 のクロス集計で もし地域テーブルに合併情報があれば (上記の場合 柏市(100)+昭南町(50)) それを反映させて集計するという形を作りたいのですが クロス集計クエリを作るときの抽出条件に記述すればいいのか、それとも1からコードを記述しなければならないか どうやって作ったらいいかよくわかりません。 説明がちょっとわかりづらいのですが もしわかるかたがいらしたら抽出条件式やコードなど詳しく教えていただけないでしょうか よろしくお願いいたします。

  • tunan
  • お礼率55% (10/18)

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

(1)もしクロス集計ウイザードを使うという前提とすると、クロス集計するデータは、1つ!のテーブルかクエリでなくてはならず、修正や付加処理を付け加える余地はないものと思う。 (2)だから、クロス集計の元になるデータ(クエリ)を望みのものに前もって作っておかないといけない (3)すなわち、旧沼南町のような被合併旧市区町村のデータは新市区町村名に変更したデータを、クエリで作って置かないといけないと思う。それを対象にクロスクエリ集計する。

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> 地域コード 市名  合併情報 > 12202   松戸市 > 12203   市川市   > 12204   野田市   > 12205    柏市   沼南町(沼南町は柏市は合併しましたという意味) > 12206   昭南町 このテーブルに、もともとの沼南町の地域コードが必要ですね。 簡単な構成としては、 地域コード 市名  合併情報 12202   松戸市 12203   市川市   12204   野田市   12205   柏市 xxxxx   柏市   沼南町 12206   昭南町 のように、そのままコードをレコードとして残しておけば、集計する場合も 簡単だと思います。

関連するQ&A

  • アクセスのクロス集計の同一データの抽出について

    アクセスのクロス集計でデータを整理しようとしていますが、うまくいかないのでご教授願います。 テーブルで以下のようなデータを使用しています。 社員番号 社員 転勤年月日 転勤場所 1  A  H19.1.1 横浜市 1     A  H18.4.1 船橋市 2     B  H18.5.1  浦和市 3     C  H19.4.1  船橋市 2     B  H17.4.1  船橋市 3     C  H18.1.1  横浜市 このデータをクロス集計で最新の転勤年月日のみを抽出しようとしたところ、うまくいきません。抽出の条件は、社員番号、社員でグループ化し、転勤年月日を最新にしたところ、転勤場所でも条件を指定しなければならず思うようにいきません。当方としては、転勤年月日と同じ行の転勤場所を抽出したいのです。条件を指定すると、その条件に合ったものが抽出され、転勤年月日と関係のない転勤場所が抽出されてしまいます。 抽出例:Aさんの場合 H19.1.1 横浜市 抽出の仕方をお教えください。よろしくお願いします。

  • Accessのクロス集計

    Acceessでクロス集計クエリを元にフォームをつくり、コンボボックスで選択した商品だけを表示するにはどうしたらよいですか。 選択クエリを元にしたものはWhere条件式を使い抽出できたのですが、 クロス集計のものだと出来ません。 宜しくお願い致します。  

  • アクセスorエクセルで地域ごとに集計したいのですが、、、

    例えば・・|市区町村 | 町丁番地 |      | 柏市  | 豊四季xxxxx-yyyy      | 柏市  | 豊四季aaaaa-bbbb      | 成田市 | 日吉台sssss-iiii   | 成田市 | 日吉台ccccc-vvvvv というデータを市別ではなくて、豊四季が何件、日吉台が何件というのを集計したいのですが、町丁番地の種類が多すぎて抽出する条件(豊四季.*)等を指定するだけでも、時間がかかってしまいます。  何か良い条件の指定方法はないでしょうか? よろしくお願いします。

  • access2003 クロス集計クエリに抽出条件を設定する

    QNo.3495024にて、「取引先ごとの月次売上(部品別および合計)」をフォーム形式で表示する方法を質問した者です。 1)クロス集計クエリの抽出条件としてこのコンボを設定 2)フォームに置いたボタンでクロス集計クエリまたはそれをソースにした別フォームを開く という方法を教えていただきました。 昨夜から自分なりに調べましたが、1)のクロス集計クエリに抽出条件を設定する方法がわかりません。 昨日の今日で再質問も気が引けますが、時間がないので質問させてください! ご存知の方、よろしくお願いいたします。

  • ACCESS  クロス集計クエリの抽出条件について

    http://www.accessclub.jp/samplefile/samplefile_39.htm 上記サイトのクロス集計クエリのやり方で、抽出条件を Between [Forms]![フォーム1]![開始日] And [Forms]![フォーム2]![終了日] とする場合、 クエリパラメータダイアログにはどう記述したらよいのでしょうか? [Forms]![フォーム1]![開始日]と[Forms]![フォーム2]![終了日]をそれぞれ別々にテキスト型としてもエラーですし、(「式が複雑です」とのエラー) 条件を全て記述しても、「かっこの使い方が正しくありません。」とのエラーです。 何が間違っているのでしょうか?

  • Accessで住所ごとに集計したい。

    Access超初心者です。 アンケートの集計を取りたいのですが、住所ごとに細かく数えたいです。 例えば、○○市●●区△△町▲▲の場合、▲▲で何件かを知りたいのですが、今集計されているのは●●区で何件という形になってしまっています。 住所にはコードがつけてあり○○●●△△▲▲という感じで数字が振ってあります。 ▲▲のところは3桁で001は一丁目002は二丁目みたいになっているのですが、単純に▲▲でカウントしてしまうと、○○市●●区△△町までが違っていても一丁目が何件という数になってしまいますよね? そうではなくて、○○市●●区△△町一丁目で何件、○○市●●区△△町二丁目で何件という数を知りたいのですがどうやって条件をつけたらいいのかわからないので教えて頂きたいです。 質問の内容もわかり難いかと思いますがどうぞよろしくお願いいたします。 Access始めたばかりなので難しいことがわかりません。 どうかお力を貸して頂きたいです。

  • Access 2003、2007 なぜクロス集計クエリだけクエリパラメータを設定しないといけないのか?

    Accessで、なぜクロス集計クエリだけクエリパラメータを設定しないといけないのでしょうか? 普通の選択クエリなどでパラメータクエリを作る時は抽出条件に[ ]を記入するだけで作成できますが、クロス集計クエリでパラメータクエリを作ろうとすれば、クエリパラメータでダイアログボックスの文字列とデータ型を指定しなければいけません。 これはなぜなのでしょうか?

  • アクセスでデータの集計方法について教えてください。

    基本的なことになるのかもしれませんが、よろしくお願いいたします。 健診関係の仕事をしており、個人コードごとに単独の検査データが大量に有ります。検査の種類は200ほどあります。これを個人ごとに紐づけして集計しなおしたいのです。今まではクロス集計でやっていたのですが、数が限界を超えてしまいクロス集計がエラーになってしまいました(T_T)。具体的に単純化して書きますと、 個人コード 検査コード 検査名 数値 A1111  00001  ○○○ 10 A2222  00001  ○○○ 12 A2222  00002  ●●● 55 A1111  00002  ●●● 50 A3333  00001  ○○○ 15 個人コード 数値1 数値1(検査数値を個人別・検査別に集計)  A1111  10   50   A2222  12   55     A3333  15 データはそれぞれ以下のようなイメージでテーブル管理しており、リレーションでつなげています。 個人コード→個人テーブル 検査数値 →検査テーブル 検査コード→検査コードテーブル ひとつの検査を個人ごとにクエリで抜き出すことは出来るのですが、個人ごとに検査を横に並べていくことがうまくいきません。 ベースになるデータは人数×検査数で20万件ほどあり最終的には400万件ぐらいになりそうなのでクロス集計ではお手上げ状態のようです。そもそもはじめのデータを作る時に個人ごとに紐付けして作れと突っ込まれそうですが、そこは事情があって無理なんです。 どなたかよろしくお願いいたします。

  • Accessで住所ごとに集計したい(2)

    Access超初心者です。 アンケートの集計を取りたいのですが、住所ごとに集計をしたいです。 住所にはコードがつけてあり○○●●△△▲▲という感じで数字が振ってあります。 ▲▲のところは3桁で001は一丁目002は二丁目みたいになっています。 ○○市●●区△△町一丁目で何件、○○市●●区△△町二丁目で何件という形になっているのですが、もっとおおざっぱに△△町で何件かという形に集約したいです。 今は○○市●●区△△町一丁目で何件、○○市●●区△△町二丁目で何件という形なのですべてに数字が入っているわけではありません。 そして0が入っているわけでもなく空白のままになっているデータもあります。空白のままでも集計結果は正しく出るのでしょうか? どのようにしたらいいのかわからないので教えて頂きたいです。 質問の内容もわかり難いかと思いますがどうぞよろしくお願いいたします。 Access始めたばかりで難しいことがわかりませんので、なるべく簡単な方法で教えて頂けると助かります。 どうかお力を貸して頂きたいです。よろしくお願いします。

  • 列に対して条件抽出する方法 クロス集計クエリ

    クロス集計クエリで 列に対して条件抽出する方法ってあるのでしょうか? 例えば、元データが 日付       金額       科目 2013/09/16   ¥100   食費 2013/09/24   ¥8,100   生活費 2013/10/01   ¥10,000   生活費 と言うテーブルがあるのですが このテーブルを元にクロス集計クエリを作りました。 ウィザードで作ったら TRANSFORM Sum(T_test.金額) AS 金額の合計 SELECT T_test.科目, Sum(T_test.金額) AS [合計 金額] FROM T_test GROUP BY T_test.科目 PIVOT Format([日付],"oooo") In ("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"); こうなりました。 形としてはこのままでいいのですが、 例えば、9月分のみ表示したい場合、どうすればいいのでしょうか? 抽出条件として Between #2013/09/01# And #2013/09/30# を入れてみましたが、 何も表示されなくなってしまいます。

専門家に質問してみよう