- ベストアンサー
アクセスでデータの集計方法について教えてください。
noname#140971の回答
A=原始データを生のまま保存するデータベース。 B=データを分析するために設計されたデータベース。 で、Bの役割をAに果たさせると無理が生じる。 かといって、AはAで原始データだから改竄するわけにもいかないでしょう。 原始データの登録・参照データベースのAの役割も否定できないと思います。 なぜなら、分析データベースが破損した場合の復旧の唯一の手がかりですから。 し、しかし、データの収集形態とデータの処理のためのデータ構造は異質。 で、で、そこで分析データベースへのインポートアプリケーションの出番。 で、で、分析データベースは、何をどのように分析し参照するかで最適化。 と、普通は、このようかと思います。 例えば、各検診車などは生のデータをデータベースAに保存するでしょう。 で、で、それぞれの検診車ごとにA1,A2・・・ANが。 で、で、分析センターには、A1,A2・・・ANが送られてきます。 で、で、分析センターでは、A1,A2・・・ANをBへとインポート。 と、普通は、このようかと思います。 ところで、AからBへのインポートを擬似的にA内で行うとなると・・・。 それは、データ分析テーブルへの生データの追加処理することを意味します。 複雑なクエリは、必ず、複雑化のある段階でフリーズします。 ですから、クエリでやっている処理をVBでADOを利用してSQLに処理させるのが一番。 で、で、これは、今の処理を単にVBで行うだけのこと。 で、で、これは、一歩でもAデータベースとBデータベースの関係に近づけるアイデア。 考え方では、このようだと思います。
関連するQ&A
- Access データ抽出および集計の方法
Access2016を使って下記データ抽出および集計をしたいのです。 テーブルA 商品CD 契約日 会社CD テーブルB 会社CD 契約期間開始日 契約期間終了日 テーブルC 商品CD 商品種別 テーブルAとテーブルCの商品CDをリレーション テーブルAとテーブルBの会社CDをリレーション 集計したいデータ 契約日が期間開始日~期間終了日に含まれるテーブルAのデータを抽出したいです。 これが取れれば、クロス集計で会社CD毎の商品種別の数を最終的に計算します。 期間開始日~期間終了日はそれぞれの会社CD毎に違います。 また、同じ会社CDに開始日~終了日以外の日付データも含まれています。 このような抽出はできないでしょうか?
- ベストアンサー
- オフィス系ソフト
- クロス集計のスピードアップ
Accessで数十万件のデータのクロス集計をおこなおうと思っているのですが1日程度時間がかかってしまいます。以下のプロセスでスピードアップが図れそうな事項がございましたらご教授ください。 -------------------------------------------- (1)テーブル「A」とテーブル「B」(両方とも数十万件)を「A」のIDをキーとして「B」のIDと紐付けし、テーブル「A」の全項目とテーブル「B」のある1項目をクエリを用いて出力します。 (2)(1)のクエリをテーブルに変換する。(←ここで非常に時間がかかってしまいます。) (3)(2)についてクロス集計を行う。 -------------------------------------------- (2)でテーブルに変換せずにクロス集計を行っても非常に時間がかかってしまいます。素人質問で大変恐縮ですが何とぞご教授ください。 よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- Accessの集計、0件のデータを表示させるには?
Accessで選択クエリの集計を作りたいのですが…。 例えば、誰が何の質問を受けたか、というような、以下のようなテーブルがあるとします。 【A:データテーブル】 Aさん 数学 Aさん 理科 Bさん 社会 Aさん 理科 Bさん 理科 【B:教科マスター】 1 数学 2 社会 3 理科 AとBはリレーションでむすんで?あります。 で、Aテーブルを元に集計を使って以下のようにしたいのです。 Aさん 理科 2件 Aさん 数学 1件 Aさん 社会 0件 Aさんだけを抽出するのは、「抽出条件」で絞ればいいと思います。 教科のそれぞれの件数を出すには、「集計」で教科ごとにグループ化して教科をカウントすればいいと思うのですが、どうしても0(ゼロ)件のデータが出てきません。(上記の例で言うと、「Aさん 社会 0件」が出ない) 0を表示させるにはどこに何を書いたらいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- Accessのクエリによる集計が出来ない
Accessのクエリによる集計が出来ない kamuycikapです。 OKWaveで様々な方のアドバイスを頂きながら、慣れないAccessと悪戦苦闘しております。 一昨日、計算したい表を作成する為にOKWaveに質問を載せました。 http://okwave.jp/qa/q5549286.html 無事に上記のアドバイスでリレーションのオプション設定を行い、集計計算したいクエリの結果を表示することが出来ました。 その表を元にして 下記の質問でアドバイス頂いた方法による集計を行おうとしたのですが、集計出来なくて困っています。 http://okwave.jp/qa/q5544785.html データベースの構成とキーは以下のとおりです。 --ここから <データベース構造:リレーションシップ> リレーションシップとテーブルの構成は下記の通りです。 -->がリレーションシップです。 Kがキーになります。 ■テーブルA ■テーブルB ■テーブルC ■テーブルD K納品書コード --> K納品書コード --> K納品書コード --> K納品書コード 仕入数 K商品コード --> K商品コード --> K商品コード K商品連番 --> K商品連番 出品数量 K出品連番 商品名 発送個数 色 発送日付 サイズ 売値 ※テーブルCからテーブルDへのリレーションオプションを「’テーブルC’の全レコードと’テーブルD’の同じ 結合フィールドのレコードだけを含める。」としています。 <作りたいデータ> 納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量、発送個数、出品在庫数、倉庫在庫 <クエリ> ○グループ 納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量 ○合計(集計) 発送個数 ○出品在庫数(演算) [出品数量]-[発送個数] ○倉庫在庫(演算) [仕入数]-[発送個数] <データ状況> テーブルCのデータは約300レコードありますが、そのうち20件ほどしか商品が発送されていない為、テーブルDのデータは20件しかありません。 <望む結果> テーブルCのデータが全て表示され、紐つけられたテーブルDのデータがが存在する場合は、発送個数を表示し出品在個数を演算する。 演算した出品在個数を利用して、倉庫在庫も演算する。 <クエリの実行結果> テーブルCのデータが全て表示され、テーブルDに紐つけられたレコードも表示されるが、テーブルDに入力されている20件のデータが商品連番(テーブルCのフィールド)ごとに集計されない。 --ここまで <目的> お店に出品された商品は、日を分けて少しずつ売れていきます。(一日で全部売れることもありますが....) 従って、出品された商品(テーブルCのデータ)に対して売れていく数(テーブルDの複数のレコード)のデータがぶら下がっている形になります。 このようなデータベースですので、出品した商品が何個売れたかを計算する為には、商品に対する売れた個数を集計(合計)しなければなりません。 <結果> テーブルCの商品連番ごとの発送個数を集計したいのですが、テーブルDの出品連番ごとの集計になっている様子です。 <頂きたいアドバイス> 上記のデータベースとクエリで、テーブルCの商品連番に紐ついたテーブルDに格納されている発送個数の合計値を集計するための方法 以上、識者の方のアドバイスをお願い致します。
- ベストアンサー
- その他MS Office製品
- ACCESS 更新クエリについて
更新クエリで更新したいのですが、クロス集計クエリの数値を元にテーブルを更新することは出来ないようで、困っています。 なぜそのようなことをしているかと申しますと、 商品品目_個数_コード(主キー) のようにフィールドを持っているのですが、 印刷に関しては品目ごとに印刷したい、ということで 一度クロス集計クエリ(TRANSFORM)で りんご_ばなな_ぶどう_コード(主キー) 数値_数値_数値_数値 のような並びにして、テーブル作成クエリでテーブルを作成し そのテーブルをレポートに使用しています。 数値などが変わった場合その作成したテーブルの数値を 作成元になったクロス集計クエリで更新したいのですが、出来なくて困っています。 テーブル作成クエリで上書きすると、古いデータが消えてしまうため 何か良い方法はないかと思っています。 回答のほどお願いします。
- ベストアンサー
- オフィス系ソフト
- 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からコードを記述しなければならないか どうやって作ったらいいかよくわかりません。 説明がちょっとわかりづらいのですが もしわかるかたがいらしたら抽出条件式やコードなど詳しく教えていただけないでしょうか よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- Accessの集計クエリで計算
Microsoft Access2016において、クロス集計クエリに表示される数値を使って計算をするには、どこにどんな数式を入力すれば良いですか。テーブルに表示される数値ではなく、クロス集計クエリで計算された合計の値を使 います
- 締切済み
- その他MS Office製品
- Accessのクエリ集計について
Accessのクエリ集計について kamuycikapです。 テーブルを集計するクエリについて悩んでいます。 以下がテーブルの状況と試行錯誤しているクエリ。 そして実行結果の箇条書きです。 非常に長文ですが、識者の方のアドバイスをお願い致します。 --ここから <データベース構造:リレーションシップ> リレーションシップとテーブルの構成は下記の通りです。 -->がリレーションシップです。 ■テーブルA ■テーブルB ■テーブルC ■テーブルD 納品書コード ーー> 納品書コード ーー> 納品書コード ーー> 納品書コード 仕入数 商品コード ーー> 商品コード ーー> 商品コード 商品連番 ーー> 商品連番 出品数量 出品連番 商品名 発送個数 色 発送日付 サイズ 売値 <作りたいデータ> 納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量、発送個数、出品在庫数、倉庫在庫 <クエリ> ○グループ 納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量 ○合計(集計) 発送個数 ○出品在庫数(演算) [出品数量]-[発送個数] ○倉庫在庫(演算) [仕入数]-[発送個数] <データ状況> テーブルCのデータは約300レコードありますが、そのうち20件ほどしか商品が発送されていない為、テーブルDのデータは20件しかありません。 <望む結果> テーブルCのデータが全て表示され、紐つけられたテーブルDのデータがが存在する場合は、発送個数を表示し出品在個数を演算する。 演算した出品在個数を利用して、倉庫在庫も演算する。 <クエリの実行結果> テーブルCのデータが全て表示されず、テーブルDに紐つけられたレコードのみが表示されるため、約300件のデータではなく、テーブルDに入力されている20件しか表示されない。 --ここまで 目的は、テーブルCのデータを全て表示し、発送情報がテーブルDに入力されているデータについては演算結果を表示する事です。 現状では、テーブルDのデータしかテーブルCのレコードが表示されません。。。。 どうすれば目的のデータを収集できるクエリが作成で切るのか、識者の方のアドバイスをお願いします。
- ベストアンサー
- その他MS Office製品
- アクセス2000を使ってのデータ集計方法
はじめまして、アクセス2000を使って支払テーブルを作成しました。フィールドは、日付 メーカーID 金額 現場名ID 勘定科目ID・・等です。 メーカと現場名と勘定科目はマスタテーブルを別に作って そこから参照させています。これにデータを打ち込んでいって月別金額集計と メーカ別金額集計と 現場名別金額集計と勘定科目別金額集計をさせたいのですが フォームとレポートに支払テーブルレコードを表示させて 合計金額を表示させるにはどのようにすれば良いでしょうか? 判りにくい説明ですが 4月分のデータを一覧表示させて合計金額を表示次に5月分のデータを一覧表示させて合計金額を表示と言う具合です
- ベストアンサー
- オフィス系ソフト
- Accessの集計の仕方を教えて下さい
いつもお世話になります。 Accessで集計結果をレポートにしたいのですが指定の仕方がわかりません。 教えていただけませんか? まずは状況について説明させていただきます。 テーブルは以下の二つがあります。 1.消費者マスター 消費者コード 数値型(主キー) 販売店コード 数値型 判定コード 数値型(2.のテーブルとリンク) 料金 通貨型 2.判定マスター 判定コード 数値型 (10,11,12等) 判定結果 テキスト型(良、否、他 等) 上記のデータを基に「販売店コード」、「判定コード」で並べ替え 以下のようなレポートを作成したいと考えています。 販売店コード 判定コード 判定結果 件数 料金合計 1000 10 良 5(レコード数) 12,000(料金の合計) 11 否 4 8,000 12 他 2 4,000 合計 11 24,000 レポートの集計機能を使えばいいのか、クエリでやった方がいいのか いくつか試してみたのですが、混乱してわからなくなりました。 面倒かと思いますが考えていただけませんでしょうか。
- ベストアンサー
- その他(データベース)