• ベストアンサー

ACCESSの日付に関してですが、休日の部分でデータの存在しない部分を無視して平均を出す方法を教えてください。

ACCESSの日付に関してですが、休日の部分のテーブルデータが存在しなくてもクエリで日付に関して過去30日間などを行うとデータの無い部分は無い部分で無視して計算してしまい、結果として土日が休みですと過去22日分などでの計算になってしまいます。そのような計算ではなく例えばの言い方ですが、休みを除いた過去30営業日(テーブルに存在する日付のみ)での計算を行うにはどのようにしたら宜しいでしょうか?? ACCESSに詳しい方宜しくお願い致します。

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

  • ベストアンサー
  • deecyan
  • ベストアンサー率38% (89/233)
回答No.1

日付の所を降順にして 30行だけ出す指定にすればいいのでは? クエリのデザインビューを表示している画面で 上のへんの ツールボックスに ”すべて”って なっているところに 30といれればいいですよ

その他の回答 (2)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

>結果として土日が休みですと過去22日分などでの計算になってしまいます。 集計関数はNullを除いて集計しますからそうなりますね >過去30営業日(テーブルに存在する日付のみ)での計算を行うには 全てレコードとしては存在しているのですね その場合は集計したい値をNz関数でNullを0に変換して集計します クエリに Nz(データ,0) という式フィールドを作り このフィールドの平均を取ります

  • kosamon
  • ベストアンサー率47% (11/23)
回答No.2

まず、日付のみのクエリを作成します。 それをグループ化し、プロパティのトップ値を例えば30営業日であれば「30」と入力します。 そのクエリと元々のテーブルの日付フィールド同士を結びつけるクエリを新たに作成します。 そうすることで、ご所望の結果が得られると思います。 営業日数が一律でない場合その都度設定してやる必要があり、ちょっと面倒かな?

関連するQ&A