motogp fan

motogp ファンによる、雑ブログ、ガジェットネタも

Access 入門 第11回 イベント出欠管理作成 (集計クエリーで分析2)

分析の続きです。

関数

f:id:motagp:20150702075022j:plain

次は未回答者の人数を集計します。

回答日が未入力の人を集計すれば良いので、条件式を書きます。

未回答数: Sum(IIf(IsNull([回答日]),1,0))

[説明]
未回答数: 実行結果の項目名
Sum() エクセルでよく使う合計関数、カッコ内の数字を足し算します。
IIf() 条件式、カッコ内をカンマで3分割 _1_,_2_,_3_
   1個目に条件分を書きます 例:[A]=1 
   2個めに1の結果が正の時に採用する値を書きます
   3個めに1の結果が偽の時に採用する値を書きます
   今回はIsNull([回答日])なので、回答日が空白ですか?となり、空白の時は1、違う時は0の結果になります。

回答数

 

回答数: Sum(IIf(IsNull([回答日]),0,1))

未回答者の正偽の値が反対を指定。または[対象者]-[未回答数]でも算出可能。

回答率

回答率: int *1

欠席数: Sum(IIf([回答結果番号]=2,1,0))

回答結果に応じた合計集計です。

 

実行結果

入力

f:id:motagp:20150703081148j:plain

クエリーの実行結果

f:id:motagp:20150703081207j:plain

 

 

完成したaccdbは下記で公開しています。
セントバーナードDEMOライブラリー

 

Accessのチョットした設定のみで、依頼された要件は満たしました。
とりあえずは完成。

使い勝手を良くするなら、フォーム使った画面や、自動処理用のVBAプログラムなど追加作成します。
気が向いたら紹介する予定ですが、反応が薄いので辞めるかも。










 

*1:[回答数]/[対象者]) x100)

率を求めます。

int() 結果の小数部は切り捨てる
/ 割り算です *は掛け算

 

出席数 欠席数

 

出席数: Sum(IIf([回答結果番号]=1,1,0