accessで移動平均する方法

このQ&Aのポイント
  • 会社コード、品目コード、月度、出荷数が入った明細テーブルにおいて、過去3ヶ月の出荷数を移動平均する方法について教えてください。
  • 出力結果は、会社コード、品目コード、月度、移動平均出荷数の形式で表示されます。
  • 月度で移動平均を計算することは一般的ですが、実装方法に悩んでいます。どのようにすれば実現できるでしょうか?
回答を見る
  • ベストアンサー

accessで移動平均する方法

会社コード、品目コード、月度、出荷数の入った明細テーブルがあります これを過去3ヶ月で出荷数を移動平均したいのです 例 元データ 会社コード、品目コード、月度、出荷数 A00000001,AAAAAAA,201410,10 A00000001,AAAAAAA,201410,10 A00000001,AAAAAAA,201408,10 B00000002,BBBBBBB,201408,10 出力したい値 会社コード、品目コード、月度、出荷数 A00000001,AAAAAAA,201410,10←出荷数は同じ会社コード、品目コードの(10月+9月+8月)÷3) A00000001,AAAAAAA,201409,3.33←出荷数は同じ会社コード、品目コードの(9月+8月+7月)÷3) A00000001,AAAAAAA,201408,3.33←出荷数は同じ会社コード、品目コードの(8月+7月+6月)÷3) B00000002,BBBBBBB,201408,3.33←出荷数は同じ会社コード、品目コードの(8月+7月+6月)÷3) このような事がしたいのですがどのようにしたら実現できるでしょうか 月度で移動平均なんて良く使いそうな気がしますが・・簡単なようで難しく悩んでおります どうかよろしくお願い致します

  • h0712
  • お礼率64% (32/50)

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

  • ベストアンサー
回答No.15

>その計算の元ネタとなる過去3ヶ月間の移動平均出荷数が求めたかったのです。 私の最終回答で、出荷数=0の月も含めて求められていると思いますよ。 7月---10 8月---10 9月---0 ----->(10+10+0)/3・・・(7月+8月+9月)/3 10月--10 ---->(10+0+10)/3・・・(8月+9月+10月)/3 11月--10 ---->(0+10+10)/3・・・(9月+10月+11月)/3 添付図では、このように計算しています。こういう計算結果を9月にも出力するには、9月にも出荷数=0の行も必要。その為に、ユニオンクエリで求めた出荷数=0を全ての月に加えています。 1、ユニオンクエリーで集荷数=0を全ての組み合わせを全ての月に追加してもDistinct句を使えば出力では重複することはありません。 2、ユニオンクエリーで集荷数=0を全ての組み合わせを全ての月に追加しても、移動平均出荷数の計算結果は同じです。10+0=10ですから。 添付図の結果は、[会社コード], [品目コード], [月度],[集荷数]=0を追加した後に、次のSQL文を実行したもの。 SELECT DISTINCT [会社コード], [品目コード], [月度], Format(Rounds(DSum("出荷数", "出荷履歴", WHERE 会社コード='" & [会社コード] & "' AND 品目コード='" & [品目コード] & "' AND 月度 BETWEEN ' MoveMonth([月度],-3) & "' AND '" & [月度] & "'")/3,0,2),"0.00") AS 平均出荷数 FROM 出荷履歴 WHERE 月度 BETWEEN "201408" AND "201410" ORDER BY [会社コード], [品目コード], [月度]; 動かないとすれば、単なる転記ミスです。 1、DISTINCT句を使っていること。   これで、ダミー行を出力から追放することができます。 2、表示する期間を指定していること。   表示する期間は、まあ、実際に運用する際に全期間の結果を求めないだろうと考えたからに過ぎません。 なお、MoveMonth([月度],-3) でBETWENNを簡略化、あるいはRounds()で四捨五入していること。これらは、枝葉の問題。 要は、[会社コード], [品目コード], [月度],[集荷数]=0を追加すればよいだけと思いますが・・・。

h0712
質問者

お礼

ありがとうございます >>1、ユニオンクエリーで集荷数=0を全ての組み合わせを全ての月に追加してもDistinct句を使えば出力では重複することはありません この考え方は目からうろこです そうですね、足りない月のレコードだけを追加する事にこだわって難しく考えていたかもしれません 全部の月に対して出荷数0のレコードを追加した後で select 会社コード、品目コード、sum(出荷数) from hoge group by 会社コード、品目コード グルーピングしてあげればもともとレコードのない月は出荷数0のレコードとして出力されますね

その他の回答 (16)

回答No.17

【疑問】今のアプローチは正しいのか? >毎月の在庫回転期間を求めたいのです。 商品名|月次出庫数|月次期首在庫|月次期末在庫|月次在庫回転率|月次在庫回転期間 AA1|__100|___100|_____0|__2.000|___0.5ヶ月 AA2|___50|___100|____50|__0.666|___1.5ヶ月 AA3|____0|___100|___100|__0.000|________ 商品AA1は、月次平均在庫数は50。 これを一ヶ月で2倍の100個出庫。 ですから、在庫回転期間は0.5ヶ月。 商品AA2は、月次平均在庫数は75。 これを一ヶ月で50個出庫。 ですから、在庫を出庫しきるにはもう半月を必要とします。 よって、在庫回転期間は1.5ヶ月。 敢えて、単月で「在庫回転期間]を出すとすれば上図のようです。 この結果を、更に、次のようにレポートしたい。 商品名|7月度在庫回転期間|8月度在庫回転期間|9月度在庫回転期間|平均在庫回転期間| AA1|____1/2ヶ月|____1/2ヶ月|____1/2ヶ月|___1/2ヶ月| ならば、 課題は、単月での「在庫回転期間]を求めるだけで事足りるのではと思いますよ。「商品別在庫回転期間推移表」は、単に、レポート出力の手の問題。 【在庫回転期間の定義は横に置いて】 要は、「商品別在庫回転期間推移表」をレポートすれば事足りる訳ですので・・・ <<テーブル「在庫回転台帳」>> ID=1 会社コード=XXXX 商品コード=XXXX <<テーブル「在庫回転明細」>> ID=1 在庫回転台帳_ID=1 月次=201405 月次月次出庫数=100 月次期首在庫=100 月次期末在庫=0 月次在庫回転率=2.00 ※列[月次在庫回転期間]は、月次在庫回転率の逆数なので必要ありません。 ※もちろん、質問者のいう「在庫回転率」でも同じ設計ですよ。 ID=1 在庫回転台帳_ID=1 月次=201405 前々月出庫数=XXX 前月出庫数=XXX 当月出庫数=XXX 月次在庫回転期間=XXX ↑ あくまでも雛形。私には、月次在庫回転期間の求め方がよく理解できていませんので当てずっぽうで書いています。 という二つのテーブルを生成すれば簡単に目的は達成できるかと思いますよ。「商品別在庫回転期間推移表」の出力は小一時間で終了します。ですから、レポート出力のことは一切考える必要はありません。

回答No.16

>要は、[会社コード], [品目コード], [月度],[集荷数]=0を追加すればよいだけと思いますが・・・。 もちろん、追加するユニオンは集計期間によって適宜作成するひつようがあります。 <例> 201406・・・201404,201405に登場する全てetc. 201407・・・201405,201406に登場する全てetc. 201408・・・201406,201407に登場する全てetc. 201409・・・201407,201408に登場する全てetc. 201410・・・201409,201410に登場する全てetc. なお、 201404に登場したのは201405,201406にも発生させる 201405に登場したのは201406,201407にも発生させる 201406に登場したのは201407,201408にも発生させる という考えもあります。 一体、どれが最も欲するものか?それは、実践をもって確認して下さい。それによっては、独自のユニオンになるかも知れません。要は、そのアイデアにのみ着目してもらえれば幸いです。 PS, MoveMonyh(XXXX,-3)→MoveMonyh(XXXX,-2)

回答No.14

INSERT INTO 出荷履歴 SELECT * FROM クエリ19; これをやりたい意味が判りました。やっぱり移動平均を出したかったということでしょう。 思うに、やられていることはExcel的な処理にAccessを利用しているだけ。データも[出荷履歴]というより[月次出荷合計明細票]の類。だったら、INSERT文で解決も手です。ダミー行を追加しても用が済んだら削除すれば済む話。

h0712
質問者

お礼

ありがとうございます 説明不足な点があり混乱させてしまったようです やりたかった事はNO8さんのところに書いたのですが 在庫回転期間を求めたかったのです その計算の元ネタとなる過去3ヶ月間の移動平均出荷数が求めたかったのです 入手できるデータは他に月末在庫データ 会社コード、品目コード、月度、数量の項目です この月末在庫データと出荷履歴データを使って各月の在庫回転期間をNO8さんのところに書いた 計算式で求めたかったのが最終的な目的です 最初にこれを説明していればもっと簡単な方法があったかもしれないです ごめんなさい

回答No.13

データがない月度も表示させたいということですね。 表示したい月度の格納されたマスターテーブルを作成して、それと明細テーブルをクエリで外部結合すれば表示させることができます。 会社マスター、品目マスターテーブルも必要になりますが、ありますよね。 具体的な方法の提示は、現状のマスターテーブル等の名前、フィールド構成等が不明なのでできませんので、 とりあえずやってみて、できなかったら、上記の詳細の情報を追加して、どこまでできて、どこで躓いたのか提示して、返信してください。

回答No.12

【補足の補足】移動平均法と出荷日 A商品の出荷は6、7月のみ。 B商品の出荷は7、8月のみ。 C商品の出荷は8、9月のみ。 D商品の出荷は10月のみ。 現実には、こういう状況が一般的。だとすれば、各々の商品の3ヶ月の移動平均を出力しても実に評価が難しいデータになるかと思いますよ。回答1で問うたのは、 >本当に移動平均ですか? >単なる過去3ヶ月間の平均ですか? このこと。ちょーっと、最初から喉にトゲがひかかったままなので補足して確認しておきます。

回答No.11

【疑問】移動平均法と出荷日との関係 提示されているデータの出荷日は月で管理されています。つまり、過去3ヶ月を正確に指定できません。11月01日の伝票があった場合には09/01~11/01の約2ヶ月の平均出荷数になります。先の回答で、 >11月初旬の処理に問題があって・・・ と書いていますが、その意味を補足しておきます。出荷日が日付で管理されていればと思っています。

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.10

できるというだけで、使えるのかわかりませんけど テーブル名を「★★」と仮定します。 連続した月度生成用のテーブル「T月度」を新設します。 フィールドは「月度」(長整数)のみ 標準モジュールに以下を記述しておきます。 やっている内容は、テーブル「★★」内の最小月度、最大月度を求めて その範囲の連続した yyyymm を作成します Public Function myInit() As Boolean   Dim rs As New ADODB.Recordset   Dim sSql As String   Dim dtS As Date, dtE As Date   sSql = "DELETE * FROM T月度;"   CurrentProject.Connection.Execute sSql   rs.Source = "SELECT Min(月度), Max(月度) FROM ★★;"   rs.Open , CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly   If (Not rs.EOF) Then     dtS = CDate(Format(rs(0), "0000/00"))     dtE = CDate(Format(rs(1), "0000/00"))     rs.Close     rs.Open "T月度", CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic     While (dtS <= dtE)       rs.AddNew       rs(0) = Int(Format(dtS, "yyyymm"))       rs.Update       dtS = DateAdd("m", 1, dtS)     Wend     rs.Close   End If   myInit = True End Function この関数をSQLから呼び出して利用します。 以下の内容をSQLビューに記述した場合と結果は SELECT Q1.会社コード, Q1.品目コード, Q1.月度, Round(Sum(Q2.出荷数)/3,2) AS 平均 FROM (SELECT * FROM (SELECT DISTINCT 会社コード, 品目コード FROM ★★), T月度) AS Q1 , ★★ AS Q2 WHERE myInit() AND Q1.会社コード=Q2.会社コード AND Q1.品目コード=Q2.品目コード AND Q2.月度 IN (SELECT TOP 3 月度 FROM T月度 WHERE 月度<=Q1.月度 ORDER BY 月度 DESC) GROUP BY Q1.会社コード, Q1.品目コード, Q1.月度; 会社コード 品目コード 月度  平均 A00000001  AAAAAAA  201408  3.33 A00000001  AAAAAAA  201409  3.33 A00000001  AAAAAAA  201410  10 B00000002  BBBBBBB  201408  3.33 B00000002  BBBBBBB  201409  3.33 B00000002  BBBBBBB  201410  3.33 B00000002  BBBBBBB の 201409 / 201410 は要らないのなら SELECT Q1.会社コード, Q1.品目コード, Q1.月度, Round(Sum(Q2.出荷数)/3,2) AS 平均 FROM (SELECT * FROM (SELECT DISTINCT 会社コード, 品目コード FROM ★★) AS T1, T月度 AS T2 WHERE T2.月度<=(SELECT Max(月度) FROM ★★ WHERE 会社コード=T1.会社コード AND 品目コード=T1.品目コード)) AS Q1 , ★★ AS Q2 WHERE myInit() AND Q1.会社コード=Q2.会社コード AND Q1.品目コード=Q2.品目コード AND Q2.月度 IN (SELECT TOP 3 月度 FROM T月度 WHERE 月度<=Q1.月度 ORDER BY 月度 DESC) GROUP BY Q1.会社コード, Q1.品目コード, Q1.月度; 会社コード 品目コード 月度  平均 A00000001  AAAAAAA  201408  3.33 A00000001  AAAAAAA  201409  3.33 A00000001  AAAAAAA  201410  10 B00000002  BBBBBBB  201408  3.33 ※ サンプルでできたというだけですので・・・

回答No.9

1、[会社コード]+[品目コード]+[月度]   の組合せで全ての月に出荷数=0を求めるクエリを作成。 2、INSERT INTO XXX SELECT XXX 同クエリ   を実行する。 以上で確かに現象的には目的を達成出来ますが・・・。これは、ちょっと非現実的かと思いますね。テーブル[出荷履歴]には、主キーもあるでしょう。また、他のテーブルとのリンクも張ってあるでしょう。そこら辺りに十分に配慮してとなると、INSERT INTO 出荷履歴 SELECT * FROM クエリ19;と単純にいけるものか?VBAを推す理由です。 【出荷数=0を発生させるクエリ】 SELECT DISTINCT   [会社コード],   [品目コード],   "201408" AS [月度],   0 AS [出荷数] FROM 出荷履歴 WHERE 月度 BETWEEN "201408" AND "201410" UNION SELECT DISTINCT   [会社コード],   [品目コード],   "201409" AS [月度],   0 AS [出荷数] FROM 出荷履歴 WHERE 月度 BETWEEN "201408" AND "201410" UNION SELECT DISTINCT   [会社コード],   [品目コード],   "201410" AS [月度],   0 AS [出荷数] FROM 出荷履歴 WHERE 月度 BETWEEN "201408" AND "201410"; 【INSERT文】 INSERT INTO 出荷履歴 SELECT * FROM クエリ19;

回答No.8

データのない月度も出力したいということですね。 回答の前にもう少し確認させてください。 > 追加したいデータは > > A00000001,AAAAAAA,201409,0 > B00000002,BBBBBBB,201410,0 > B00000002,BBBBBBB,201409,0 A00000001,BBBBBB,201410,0 A00000001,BBBBBB,201409,0 A00000001,BBBBBB,201408,0 は出力しなくていいのですか。 会社A00000001の取り扱う品目はAAAAAAだけなんでしょうか。 同様に、B00000002 の場合はAAAAAAは出力しないのですか。 会社のマスターテーブルは存在しますか。 また、それぞれの会社の取り扱い品目の情報はどのように管理してますか。 > これを一気に追加することが追加クエリでできるでしょうか? 追加クエリでデータを追加しなくても、マスターテーブルがあれば外部結合を使うことで実現はできます。 ただ、具体的な方法は、上記のマスターテーブルや取り扱い品目のテーブルの構成がどうなっいてるかが判明しないと提示できないですね。

h0712
質問者

お礼

コメントありがとうございます会社のマスターテーブルは存在しますが 自分はそのデータを入手する権限がありません 説明不足で申し訳ありません 何がしたいかというと毎月の在庫回転期間を求めたいのです 月末在庫のデータと出荷履歴のデータは入手できます 10月末の在庫数÷(10月の出荷数+9月の出荷数+8月の出荷数)÷3=10月の在庫回転期間 9月末の在庫数÷(9月の出荷数+8月の出荷数+7月の出荷数)÷3=9月の在庫回転期間 8月末の在庫数÷(8月の出荷数+7月の出荷数+6月の出荷数)÷3=8月の在庫回転期間 上記の値を会社コード、品目コード別に出力したかったのです なので 月末在庫は存在しても出荷した事が一度もない不良在庫の物もありますので 9月に出荷した履歴がなくても(9月の出荷数+8月の出荷数+7月の出荷数)÷3で 3ヶ月の平均出荷数は求められると思います なので出荷した履歴がない月も出荷数の平均を求めたかったのです Vlookupで在庫と出荷平均を後で結合したデータを作って計算したかったので 出荷0の月もデータを出したいという事です

回答No.7

【お詫びと補足】 補足質問の意味をやっと理解できました。つまり。添付図のような出力で対象月を全て出力したいということですね。私なら、VBAで期間を設定して出荷数=0の月があればInsert文を実行します。 理由:SQL文を考えるのが面倒臭いから! [会社コード+品目コード+月次]で対象月に発生しているの全てに追加しないと目的は達成できないでしょう。ということは、添付図のクエリの結果を配列に取り込んで欠落月を挿入するというやり方が一番最初に思い付きます。ですから、それをVBAにて記述します。

関連するQ&A

  • 移動平均処理

    下記データ、移送平均パラメータ:B1 (←セル)において 移動平均処理後の結果を B4(セル):A2~4の移動平均 B5(セル):A3~5の移動平均 B6(セル):A4~6の移動平均 B4,B5,B6 に出力したい また、移送平均パラメータ:B1 を 3→5 に変更した場合 B6(セル):A2~6の移動平均 B7(セル):A3~7の移動平均 B8(セル):A4~8の移動平均 と処理される方法を教えて下さい エクセルにて A B C D E 1 3 2 2 3 4 4 7 ? 5 9 ? 6 1 ? 7 2 ? 8 3 ? 9 4 ?

  • ワードの「段組み」についてです。

    A4用紙で、タテ3段に分けて段組み入れながら、 書類をレイアウトしています。 こんな感じです。          ↓↓↓ AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAA。 AAAAAAA AAAAAAAA AAAAAAAA AAAAAAA AAAAAAAA AAAAAAAA AAAAAAA AAAAAAAA AAAAAAAA AAAAAAA AAAAAAAA BBBBBBB AAAAAAA AAAAAAAA BBBBBBB 上記ように4行目から3段になっていますが。 下記のように、途中からまたもとに戻したいのです。 どういう操作をすればいいのでしょう。 (Bの部分は【縦書きテキストボックス】です)          ↓↓↓ AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAA。 AAAAAAA AAAAAAAA AAAAAAAA AAAAAAA AAAAAAAA AAAAAAAA AAAAAAA AAAAAAAA AAAAAAAA AAAAAAA AAAAAAAA BBBBBBB AAAAAAA AAAAAAAA BBBBBBB CCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC. ※ 「C」の部分は「段組み」にしたくないのです。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ こちらのパソコンは「Windows98」です。 初歩的な質問で申し訳ありません。よろしくお願いします。

  • 平均より大きい、平均、平均未満の3つの区分を作りたい。

    今、各団体の職員数をまとめた本表を作っています。これを「全体の平均値を上回る職員数」をもつ団体数ーA、「全体の平均と同数の職員数」をもつ団体ーB、「全体の平均未満の職員数」をもつ団体ーC とした場合、A、B,Cのそれぞれの累計を、もとの本表からすぐに求められる別表を作りたいと考えていますが、何かいい関数等をご存知の方はいらっしゃいませんか。 (例) 「本表」     ●社ー10人、     ○社ー15人、     △社ー20人、     □社ー18人・・・  全体の平均、15人。 「別表」  平均以上の職員数の会社の数(A)ー5社  平均職員数の会社の数   (B)ー3社  平均未満職員数の会社の数 (C)ー5社」    ↑この別表を作りたいのです。

  • ACCESS クエリの抽出のやり方

    初投稿になります。よろしくお願いします。 無礼な事、不明瞭な事がありましたらご指導宜しくお願いします。 ACCESS2007 クエリで困っています。 テーブル_出荷 【コード{主}】【出荷先(1)】【出荷先(2)】 テーブル_明細 【コード】【種類】【数(1)】【数(2)】と構成されたテーブルがあります。 フィールド【コード】はリレーションシップで繋ぎました。 クエリで 【コード(出荷)】【種類{抽出条件:果物}】【数(1)】【数(2)】【種類{抽:野菜}】【数(1)】【数(2)】 とテーブル_出荷・テーブル_明細・テーブル_明細_1で選択クエリをつくりました。 クエリを実行すると無事表示されたのですが、後日データを更新したら 表示されなくなりました。 おそらく【コード(出荷)】に対して【種類{抽:野菜}】が存在しないレコードが出てきたからだと思います。 存在しない場合は「空白」か「0」で表示したいのですが、何か方法がないでしょうか?

  • 平均値を出す方法

    Excelにて次のような表を作っております。 月ごとの入場数表があり、曜日ごとの平均入場数を出したいのですが、不定期の「休み」の日がカウントされてしまい、正しい平均値が出ない状況です。   A  B 1 月  10 2 火  50 3 水  休 : 31 水  10 大変分かりづらい説明で申し訳ございませんが、よろしくお願いいたします。

  • SQLである条件の重複を抽出する方法は無いでしょうか?

    下記のようなAというテーブルがあったとします。 A1 A2 A3 A4 A5 A6 A7 ------- ------- ------- ------- ------- ------- ------- AAAAAAA BBBBBBB CCCCCCC DDDDDDD EEEEEEE FFFFFFF GGGGGGG AAAAAAA BBBBBBB XXXXXXX YYYYYYY EEEEEEE FFFFFFF GGGGGGG ABCSHSM SDIASNA SIASJAO OPPPPPP YGUUUBU NINIINI LPLPLPL この中でカラム「A1」and「A2」and「A5」and「A6」and「A7」が重複しているレコードを抽出させるにはどうしたらいいでしょうか? いろいろやってみているのですが行値式が使えないDBです。 レコードの数も10万くらいあるので出来るだけ早めに抽出が出来ればいいのですが・・・ 調べてみてもいるのですがなかなか重複を抽出されている方が少なく(重複の削除→DISTINCTは多いのですが・・・)困っております。 よろしくお願いします。 ちなみにDELETEはしません SELECTのみです。 9i

  • 移動平均線について初歩的な質問!

    こんにちは。 移動平均線について教えてください。 例えば下記の表においては 9月19日時点の25日平均線の位置は19日の25営業日前から19日の 合計を25で割ったものと考えて、 10月9日時点の25日平均線の位置は9日の25営業日前から9日の 合計を25で割ったまのと考えていいのでしょか? http://quote.yahoo.co.jp/q?s=2353.t&d=c&t=3m&l=off&z=b&q=c&k=c3&a=v&h=on&p=m25,m75,s 同様に13週移動平均線も 9月19日時点の13週移動平均線の位置は13×7の91日前から19日の 合計を91で割ったまのと考えていいのでしょか? ややこしい質問ですが、その辺がよくわかりません。 どうかおねがいします。

  • 平均値の求め方?

    質問させていただきます。 ある物体(A,B,C)の移動量の平均値から移動した距離(長さ)を求める と同時に、A,B,C個々の移動距離を求め、その平均値を出そうとしました。 物体Aの移動距離(x1,y1)と、B(x2,y2)、C(x3,y3)の3つの値から A,B,Cのそれぞれの値(x,y)の平均値を X=((x1+x2+x3)/3),Y=((y1+y2+y3)/3)で求め、 移動距離の平均値αを α1=√(X*X+Y*Y)で求めました。 これとは別にそれぞれの物体の個別の移動距離を β1=√(x1*x1+y1*y1) β2=√(x2*x2+y2*y2) β3=√(x3*x3+y3*y3) で求めそれぞれの値の平均値を α2=((β1+β2+β3)/3) として求めたのですが、α1=α2とはなりませんでした。 上記の方法で平均値が同じ値になるものでしょうか? また、上記の方法以外に距離の全平均と個々の物体の距離の平均 が等しくなるような求め方ってあるのでしょうか?

  • Accessで移動累計

    Accessで移動累計する方法を教えてください。 ↓のようなテーブルで、以下のような内容が ずっと続いてるときに 顧客コード 年 月 売上   1     99 1 100   1     99 2 50   1     99 3 80   1     00 2 200   2     99 1 50   2     00 2 150   ・     ・ ・ ・   ・     ・ ・ ・   ・     ・ ・ ・ 顧客年月別に、移動累計を作成したいのですが データ量が多いので、Excelでは大変なんです。 実現方法ごぞんじの方いらっしゃいましたら ご教授下さいませ。

  • 標準偏差と平均偏差の計算方法

    標準偏差と平均偏差について質問させてください。 平均偏差を求める際は  (a) |サンプルA-平均値|/サンプル数 + |サンプルB-平均値|/サンプル数... という計算式になると思います。 では何故、標準偏差は  (b) (サンプルA-平均値)^2^(1/2)/サンプル数 + (サンプルB-平均値)^2^(1/2)/サンプル数... とせず  (c) {(サンプルA-平均値)^2/サンプル数 + (サンプルB-平均値)^2/サンプル数...}^(1/2) となるのでしょうか。 よく「微分ができないから、平均偏差を使わず、標準偏差を使う」というお話を伺いますが (b)の方法でも同様に微分ができないのでしょうか。 稚拙な質問で申し訳ありませんが、お時間のある際にでもどなたかお答えいただければ幸いです。