Steamer Lane Studio技術備忘録ユーティリティ

mail form proでアンケート集計機能を使ってみた

utility mail form proでアンケート集計機能を使ってみた
作成日: 2023年12月10日

高機能なフォーム用フリー素材「mail form pro」でアンケートフォームを作り、集計結果ページをCSV出力をしてみました。
※バージョンは4.3.0
※先にフォームページを作り、集計項目を決めておきましょう。

mail form proでアンケート集計機能を使ってみた設定
config.cgiの編集
push @Modules,’questionnaire’; ## アンケート集計モジュール
push @Modules,’count’; ## 集計モジュール
push @Modules,’questionnaire2′; ## [New] アンケート集計モジュール2
これらのコメントアウト用#を外し・・・・count=集計モジュールの設定が良くないのか、データ集計ファイルがアンケート都度上書きされて集計にならず、CSVでのダウンロードもできない。
そんなことからpush @Modules,’CSVExport’; ## CSV保存機能のコメントアウトの#を外し、旧来のこちらを使いました。

configsディレクトリ内のファイル編集
questionnaire.cgiの「## 集計対象の設問接頭辞」編集後エレメントにこの接頭辞を付ける、初期値は「Q」。初期値のままなら項目のname属性にQを付ける。
集計結果ページの項目はname属性を拾うので項目から接頭辞を除きたい場合は項目のfirst-letterをdisplay:noneにでもする方が良いでしょう。
questionnaire2.cgiの「## 集計対象のname属性をカンマ区切りで指定」の下を編集。接頭辞込みのname属性をカンマ区切りで羅列します。
CSVExportTemplate.csv.cgi(CSV出力用)を編集。”<_mfp_date_>”,”<_Q評価_>、集計したいname属性を<__>囲みカンマ区切りで羅列。
集計結果ページでは数値(点数)によるラジオボタンからの設定数値毎の円グラフが表示されますが、「ご意見などございましたら」的なタイプした文字列も表示されてしまいます。もちろん統計的なデータではなく文章毎に1件というカウントになるので、questionnaire2.cgiには点数集計以外のものは入れないこと。
こうした記述式のものはCSVで出力させます(CSVExport.cgi)。逆に考えるとCSVExport.cgiのみ使ってCSV出力し、excelのインポート機能・vlook関数やその他システムで統計データへ加工するのもOKかもしれません。

同じ人からの繰り返しを防ぐ
アンケートは同じ方から何度もされても困るので#push @Modules,’reqonce’; ## 一度きりの送信これのコメントアウト#を外す。
基本はcookieに依る機能のようです、別途メアドの記述があればログのメアドを参照し複数回解答をできないようにもしているようです。
全ての設定・設置(試験など)が終わったら前述コメントアウトを外しましょう。もちろん保存データdataディレクトリ内のdat.postlog.csv.cgi・dat.questionnaire.cgi・
dat.questionnaire.cgi2を空にすること、集計ページなど必要なページへのBASIC認証など(URLとパスさえ分かればどこからでも見れるのでCGIのパスだけでなくアクセス段階でも認証をした方がベターです)もお忘れなく。

集計結果ページのタイトル
questionnaireが初期設定、これを変えるにはlibrarys/questionnaire/template.tplのh1タグ内を変更。文字化けする場合はtplファイルの文字コード初期設定がshift-jisなので適せん(大概UTF-8だと思う)変更する。