良く議論される事例として「ビールの仕入業務」がある。ウェザー・マーチャンダイジングなどと言われる事もあるが、要するに「売れ行き」を予想して「仕入」を行う業務だ。担当者は天候や予想最高気温などを見て(更に祭事やイベントをチェックして)その発注数量を決めるのだ。
もちろん他にも色々ある。
「建設現場の週間計画」、「農業の悪天対応」、「イベント体制の準備」、「ゴルフ場のキャンセル対応」などなど、様々な業務で天気が影響する。また、一見『屋外』とは縁の無さそうな「通販業の問合対応」なども、実は天候に左右されるらしい。
以下の業務フローは飲食業の売上日報だ。典型的な「日次報告型のワークフロー」と言える。
ここでは天候と気温も併せて報告させ「気象による売上変動」を分析するための基礎データとなるようにしている。特筆すべきは、その気象データがあらかじめ自動的に入力されている点だ。報告担当者は『天候』や『気温』を入力する必要が無い。この雛形は、清掃業・建設業・人材派遣サービス等でも転用できるだろう。(「夏休みの絵日記」に転用してはイケナイ…)
[営業日報フロー-天気]
[営業日報フロー-天気:「1.営業日報の提出」画面]
このワークフローでは毎朝8時に「報告仕事」が割り当てられ、その瞬間にワークフローシステムが、自動的に外部サーバに気象予報データを取得しに行く。この例では「OpenWeatherMap」に気象データを問い合わせている。(メッセージ送信中間イベント)
京都営業所(都市ID=1857910)が「今日明日の予報データ」(2日分のデータ)を取得する場合には、『forecast/daily?id=1857910&cnt=2』とリクエストすれば良い。
* http://api.openweathermap.org/data/2.5/forecast/daily?id=1857910&cnt=2
すると、、、以下の様な「お返事JSON」を取得する事ができる。
{"cod":"200",
"message":0.011,
"city":{"id":1857910,"name":"Kyoto",
"coord":{"lon":135.753845,"lat":35.021069},
"country":"JP","population":1459640},
"cnt":2,
"list":[
{"dt":1381802400, ★データ取得時刻(UNIX時刻)★
"temp":{"day":293.15,"min":291.34,"max":293.15,"night":291.34,
"eve":292.09,"morn":293.15}, ★気温(単位ケルビン)★
"pressure":992.09, ★気圧(hPa)★
"humidity":100, ★湿度(%)★
"weather":[{"id":502,"main":"Rain","description":"heavy intensity rain",
"icon":"10d"}],
"speed":1.96, ★風速(m/s)★
"deg":39, ★風向(角度:北風=0 東風=90)★
"clouds":92, ★雲量(%)★
"rain":30}, ★降水量(mm)★
{"dt":1381888800,
"temp":{"day":292.72,"min":287.96,"max":292.72,
"night":287.96,"eve":291.01,"morn":291.81},
"pressure":987.8,
"humidity":86,
"weather":[{"id":803,"main":"Clouds","description":"broken clouds",
"icon":"04d"}],
"speed":6.15,
"deg":347,
"clouds":76}
]
}
※ 見やすさのために「改行」や『★コメント★』を追記中には「風向」や「雲量」などの予報データもあるが、この業務で必要なデータだけを『データ項目』にセットすれば良い。その為のスクリプトは以下の5行だ。(スクリプトタスク)
var weatherjson = JSON.parse(data.get("0")); retVal.put("5", java.lang.String(weatherjson.list[0].weather[0].description)); retVal.put("6", java.math.BigDecimal(weatherjson.list[0].temp.max - 273.15)); retVal.put("7", java.lang.String(weatherjson.list[1].weather[0].description)); retVal.put("8", java.math.BigDecimal(weatherjson.list[1].temp.max - 273.15));
ついでに「曜日情報」もセットしておくと、売り上げ分析時に役立つ。(スクリプトタスク)
var daystart = data.get("3").getDay(); //曜日 if (daystart == 0) retVal.put("4","日曜日"); if (daystart == 1) retVal.put("4","月曜日"); if (daystart == 2) retVal.put("4","火曜日"); if (daystart == 3) retVal.put("4","水曜日"); if (daystart == 4) retVal.put("4","木曜日"); if (daystart == 5) retVal.put("4","金曜日"); if (daystart == 6) retVal.put("4","土曜日");
ところで、この『Open Weather Map』は世界中の気象情報を無料で提供する素晴らしいサービスだ。Wikipedia と同様、「誰でも無料で使える」というイデオロギー(信念)を掲げている。(しかも3時間おきの「計測データ」などかなり細かい情報を取得する事も可能だ)。
ちなみに「気象データ」の様な応用範囲の広いデータは、本来的には各国政府が無料で提供すべきだ。道路や空気と同様「公共財」と言っても良い。しかしながら今日現在、日本の『気象庁』(国土交通省の外局)も『一般財団法人日本気象協会』も無料では提供していない。オープンデータ、オープンガバメントを加速して欲しいものだ。
なおこのデータ、、、今のところ日本の気象庁が発表しているデータとは少々チガウ・・・ので、気象庁データが必要な場合には注意が必要だ。会社によっては有料サービスを検討する必要があるかもしれない。
[プロセスデータ項目設定画面]
[ダウンロード]
- 業務テンプレート:営業日報フロー-天気
- 目指せコンシェルジュサービス! 回答所要時間を自動記録 (2013-10-15)
- 立替金フロー、月初の自動起動がイイ、PDFの自動生成がイイ (2013-07-01)
- 日報の承認、翌々日には「自動承認」されマス (2012-07-23)
- 【自動処理設定】 スクリプトを記述して、業務データを自動的に処理する (使い方)
- 【自動開始】 「とある時刻」にチーム全員分のプロセスが自動起動するように設定する (使い方)
- 【ルール設定】 申請者の上司に仕事が割り当たる「割当ルール」を設定する (使い方)
- クエステトラ: クラウド型ワークフロー、問合フォーム連携機能を追加 (プレスリリース:2013-10-07)
0 件のコメント :
コメントを投稿