次の方法で共有

Access2010中央値の求め方

Anonymous
2016-07-21T06:53:08+00:00

Access2010のクエリによる中央値の求め方の相談です。

例えば、

    商品A 売上月 1月 売上金額  10,000

    商品A 売上月 2月 売上金額  15,000

    商品A 売上月 3月 売上金額    9,000

    商品A 売上月 4月 売上金額  11,000

    商品B 売上月 1月 売上金額    5,000

    商品B 売上月 2月 売上金額    6,000

    商品B 売上月 3月 売上金額    4,000

    商品C 売上月 1月 売上金額  16,000

のような商品別の売上データがある場合、

    商品A 売上金額  10,500(←明細数が偶数なので1月と4月の平均値)

    商品B 売上金額    5,000

    商品C 売上金額  16,000

という結果を求めるものですが、うまくいきません。

テーブル全体で1件の中央値なら以下のクエリで求められたのですが…

  SELECT Avg(出力テーブル.売上金額max) AS 売上金額の中央値

    FROM (SELECT Max(売上金額) AS 売上金額max

          FROM (SELECT TOP 50 PERCENT 売上テーブル.売上金額

                FROM 売上テーブル ORDER BY 売上金額)

          UNION ALL

          SELECT Min(売上金額)

          FROM (SELECT TOP 50 PERCENT 売上テーブル.売上金額

                FROM 売上テーブル ORDER BY 売上金額 DESC))  AS 出力テーブル;

いろいろと試しましたが煮詰まってしまいました。

どなたか良いアドバイスがあればお願い致します。

**モデレーター 注記**

コミュニティ センター フォーラムに投稿されましたが、内容から判断してこちらの Office フォーラムに移動いたしました。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

1 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2016-07-21T17:23:44+00:00

    下記で中央値を求める関数を紹介しています。

    中央値(Median)と最頻値(Mode)を求める関数 - hatena chips

    上記のリンク先の DMedian関数 をコピーして標準モジュールに貼り付けます。

    クエリのSQLは下記のようになります。

    SELECT DISTINCT 商品, DMedian("売上金額","売上テーブル","商品='" & [商品] & "'") AS 売上金額の中央値

    FROM 売上テーブル;

    この回答は役に立ちましたか?

    6 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません