• ベストアンサー

初歩的なアクセスの質問

各月の売上データがテーブルとしてありますが、それをID毎に時系列で集計したいのですが、どのように出来ますか? 今の問題点は、クエリで算出しようとしても、各月の同じIDしか算出されません。

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

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

集計クエリで、ID、月を「グループ化」、売り上げを「合計」とすると、月別、ID別の売り上げ計が出せます。 IDの抽出条件に特定のIDを入れた場合はそのIDのデータだけの合計になります。

myks0001
質問者

お礼

ご回答頂きましてありがとうございます。 ご回答頂いたとおりに、作業進めているのですがなかなか上手くいかないようです。 理由は、 各月毎の売上テーブルには、顧客ID,商品名,売上計上月,売上金額の4つのフィールドがあります。顧客IDによっては、複数の商品名があるので、テーブル上では同じ顧客IDが複数回記載されています。それが原因なのか当月(顧客IDが複数記載されている)と前月(顧客IDが1回だけ記載されている)を集計クエリでした場合、時系列で見るとなぜか前月分の売上が当月に混在してしまっているようで、クエリでの当月売上がテーブル上での売上よりも増加してしまっている現象が発生しています。 あと、全顧客IDリストのテーブルもあるのですが、それを当月テーブル及び前月テーブルと関連付けるとどうも売上総額が単月テーブルの売上総額よりも増加してしまっています。 お知恵を拝借できますと幸いです。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.2

(私は、アクセスでリレーションシップを使ったことがないので) これで直るかどうかは、はっきりと申し上げられませんが、、、 IDの「結合の種類」で、 「顧客テーブル」の全レコードと「売り上げテーブル」の同じ結合フィールドのレコードだけを含める。 というように設定すると何か変わりますか? これは、複数の売り上げテーブルがあるならすべてをそのようにする必要があると思われます。 基礎的な話をするなら、 ・「売り上げテーブルを月別にする意味があるのか」から考えるべきだと思います。 通常は、まとめて売り上げテーブルをつくりクエリなどで必要な範囲のみを参照することが多いです。 そのほうが、毎月新しいテーブルを作る必要もないですし、(リレーションシップなども単純になるはずです。)   ごく稀に ・データ量が多くdbの負荷が大きすぎる場合、 ・定期的に古いデータを削除しながら運用する場合 ・月次処理や年次処理、統計情報を作るのに時間がかかりすぎる場合 などは、月別のような形でテーブルを設計してあるものが存在していることは事実ですが、、、 ストレージの価格が現在の何百倍という時代に設計されたもので、運用を引き継ぐためにそのような形を維持しているだけで、現在設計するならそのような形にはしないと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセス・クエリ内のフィールド上での計算式について

    アクセス上には、顧客IDテーブル、売上テーブルと入金テーブルがあります。 (1) 売上テーブル及び入金テーブル上でのIDは、顧客IDテーブルと紐付くようにしています。 (結合プロパティは、顧客IDテーブルの全レコードと売上(入金)テーブルの同じ結合フィールドのレコードだけを含める設定にしています。) (2) 売上(入金)テーブルからクエリでID毎の合計売上額と合計入金額を算出しました。 (3) (2)を基にフィールドに"ビルダー"にて合計売上額-合計入金額として、ID毎の残高を算出しました。 (4) 問題は、(2)のID毎に合計売上額があっても、IDによっては未入金の場合もあり、 その場合、合計入金額を算出するクエリ上ではそのIDは空の状態で"0"表記もされないために、 (3)は、何も表示されません。(即ち、合計売上額100 - 空 = 空)。空ではなくて、ちゃんと空の場合は、0認識出来る方法ってありますでしょうか?

  • アクセスで集計って出来ますか?

    アクセスで出したデータをExcelにエクスポートして集計しないとならないのに、出来ません。エクスポートボタンをクリックして何分経ってもエクスポートできず、あげくのはてにはエラーで応答しなくなります。今日3時までに抽出が必須なのでパニックです。。・゜・(ノД`)・゜・。初歩の質問ですみません。アクセスでクエリを使い出したデータを、アクセス上で集計する方法あるんですか?例えば、A社B社の各月の売り上げをクエリを実行し出したとします。それをExcelにエクスポートしてから集計するのではなくアクセス上で二社の売り上げ総合計をだすこと出来ますか?どなたかお詳しい方教えて下さい。アクセス初めて使うのに誰も教えてくれないので助けてください(>人<;)

  • Accessの「or」的クエリの作り方

    Accessの質問です。 1つのテーブルは売上のデータが入っていて もう1つのテーブルは売掛のデータが入っています。 その2つのテーブルから売掛と売上のデータをもつクエリを作りたいです。 得意先ごとにユニークなIDを振ってあり、両テーブルにそれぞれ同じIDが存在するのでID をリレーションシップでつないでクエリを表示して、完成!・・・というハズだったんですが。 「売掛がある得意先」かつ「売上がある得意先」しかクエリで表示されません。 売上だけある得意先は、売掛を0にして表示、売掛だけある得意先は売上を0にして表示・・・といういわゆる「and」ではなく「or」的なクエリを作りたいのですが、どうすればいいのでしょう。 売上のない得意先は売上のテーブルにはIDそのものが存在していません。 お返事いただけたら助かります。

  • アクセス2000の初歩的な質問ですが。

    今、本を見ながらアクセスで売上管理のデータを作り始めたばかりで、アクセスに関する知識が乏しいのでおしえてください。クエリの中で「金額」の演算フィールドに金額:[単価]*[数量]と入力した場合、「指定されたフィールド”[単価]”がSQLステートメントのFROM句にある複数のテーブルを参照しました。と、エラーになってしまいます。まだまだ初歩の段階で、これが何を指しているのかわからないんです。どうか解る方、知識をお貸し下さい。宜しくお願いいたします。

  • Accessの更新クエリについて質問です。

    よろしくお願いします。 集計したクエリを元に更新クエリを実行すると、更新できません。 やりたい作業としては、売上データテーブルのレコード数を得意先ごとにカウントして、得意先マスタテーブルのレコード件数フィールドを更新する作業です。 追加クエリで一度テーブルに追加してから、テーブル同士で更新も考えたんですが、レコード数が多いためにDBのサイズが爆発的に増えて廃案になりました。 何か良い方法があれば教えてください。

  • Access クエリ、計算について

    クエリで計算、集計した結果をもう一度計算する場合 一度テーブル作成クエリでテーブルを作成してから そのテーブルをクエリに変換しないといけない、と考えていましたが 集計したクエリを別のクエリで集計できるのですかね? テーブル作成クエリは、クエリを実行するたびに計算、集計すると 時間がかかってしまうので完成したデータをテーブルとして作成する という考え方であっているでしょうか?

  • ACCESSの初歩的な質問です。

    基本的な質問で申し訳ありません。 テーブルAとテーブルB両者のデータベースからIDをキーにして一致しない情報を抽出したいと考えているのですが。 テーブルAを基準にして一致しないレコードAは抽出条件から取り出せるのですが、同じクエリを使用してテーブルBの情報レコードBを取り出せないでしょうか? 簡単に言えばIDをキーにして変更前と変更後の情報を抽出したいのですが。

  • Accessでの集計

    Accessのテーブル作成クエリで売上Aと売上Bというテーブル作成しました。「売上A」と「売上B」というテーブルをを用いて「結果」という集計表を作成したいと思っています。 どの様に行えばよいでしょうか? OS:WinXP Access2003です。

  • アクセス クエリ・集計・計算方法について

    アクセスの集計機能を使用して、品名毎の数量の合計と金額の合計を算出しようとしていますが、 思うようにできません。どなたか教えてください。 クエリのフィールドを左から・・・ (1)年月: Format([日付],"yyyy/mm")(集計:グループ化) (2)品名(集計:グループ化) (3)品名のカウント(集計機能:カウント) (4)単価(集計:グループ化) (5)金額: [単価]*[品名のカウント](集計:グループ化) このような形でクエリを実行していますが、すべての注文が1つだけなら問題ないのですが、実際には品名には数量が掛けられている場合もあり、現在設定しているクエリ設定では正しい数量の合計と金額の合計を出すことができません。どうか集計方法をご教授いただけないでしょうか。よろしくお願いします。 ■現在のテーブルの設計とリレーションを明記します。 【A】顧客テーブル (1)顧客ID (2)発注コード (3)氏名 【B】商品テーブル (1)商品ID (2)品名 (3)単価 【C】注文テーブル (1)注文ID (2)日付 (3)顧客ID 【D】注文明細テーブル (1)注文明細ID (2)注文ID (3)商品ID (4)数量 リレーション 【A】(1)-【C】(3) 【B】(1)-【D】(3) 【C】(1)-【D】(2)

  • ACCESS2000でのレコード抽出

    OS:WindowsXP ACCESS2000 あるフィールドの値が最大となるようなレコードを選択クエリで 抽出しようとしているのですがうまくいきません。 テーブルのフィールドは4個あります。 テーブル [系列] [優先度] [データ1] [データ2] ここで各系列ごとに優先度が最大となるレコードのみを 抽出したいのです。 系列、データ1、データ2は重複がありえます。 優先度は系列を跨いだ重複はありますが、 同系列内での重複はありません。 レコードの例) 1:系列A 優先度1 データA データB 2:系列A 優先度2 データC データD 3:系列B 優先度1 データE データF 上記の例で言いますと、レコード2:とレコード3:のみを 抽出するクエリを作成したいのです。 集計クエリで優先度のフィールドを「最大」にしても、 3つのデータ全てが抽出されてしまいます。 どなたか解決策をご教示ください。

このQ&Aのポイント
  • 突然印刷ができなくなった場合、ブラザー製品によるトラブルの可能性があります。本記事では、ブラザー製品の印刷トラブルについて解説します。
  • ブラザー製品をお使いの方で、突然印刷ができなくなった場合、ウィンドウズ10をお使いの方で無線LAN接続している場合、特に注意が必要です。まずは、パソコンとプリンターの接続状態を確認しましょう。
  • また、印刷トラブルの原因はさまざまな要因が考えられます。デバイスのドライバが最新のものであるか、プリンターの設定が正しく行われているかなどを確認しましょう。
回答を見る

専門家に質問してみよう