分かりづらい数字の羅列もグラフを使って分かりやすくなります!【前半】

2014-09-07

前回の記事で書いたように農業経営にシステムを役立つようにするには、記録したデータを如何に経営に役立つ形で表現できるかにかかっています。その為に役立つのがグラフ化です。今回はそのグラフ化の手順と、更にそのグラフ化する作業自体を自動化する手順を紹介します。

ピン1グラフ化するのにはGoogle Apps Scriptを使おう!

前回の記事で書いた例を基に説明を進めていきたいと思います。まずは前回紹介した例を再掲しておきます。
まずはこちらがグラフの基になっている表です。

計算式サンプル

そして、こちらがグラフ。

品種別売上比率グラフ
そして、このグラフを作成する為のスクリプトコードも前回掲載してますが、今回はまずこのコードを開設してみたいと思います。

まずは、ブラウザから最初に呼び出されるメソッド「doGet()」という関数です。この「doGet」という名前はルールで決まっている名前なので変更してはいけません。そして内部でやっている処理も特に表や作るグラフには直接依存しないコードになっていますので、他のグラフを作る時もそのままコピーで使えます。中身を簡単に説明しておきます。

/**
 * ブラウザからアクセスする為の入り口になる関数
 */
function doGet() {
  
  // ①別関数(createChart)を使ってグラフを作成する
  var chart = createChart();
  
  // ②作成したグラフを表示するWebページを作る
  var uiApp = UiApp.createApplication().setTitle("品種別売上比率グラフ");

  // ③そのWebページにグラフを追加する
  uiApp.add(chart);
  
  // ④Webページをブラウザに返す
  return uiApp; 
}

①はグラフを作成する別関数を呼び出しています。このcreateChart()関数の中身を変えれば、別のグラフになります。②は作ったグラフを表示する為のWebページを作っています。ここではタイトルのみ設定しまいますので、グラフの内容に従ってタイトルを変更するだけですね。③は①で作ったグラフを②のWebページに貼付けています。そして④で作成したWebページをブラウザに返して完了です。本当にここは決まりきったコードですので、そのまま流用して下さい。

次に実際にグラフを作っているコードを説明します。

/**
 * グラフを作る関数
 *  動作確認する際に単独で動かせるように別関数として作る
 */
function createChart(){

  // ①グラフの基になる表があるスプレッドシートのIDを指定する
  // IDはそのスプレッドシート開いた時のURLに書かれている
  var sheet = SpreadsheetApp.openById("178vux_yDK0JIuPBzwRXwZUleaQ6d7x5-OIxgjjSVdhI").
  
  // ②グラフの基になる表があるシート名を指定する
  getSheetByName("売上集計");

  // ③グラフに渡すデータには「DataTable」を使う
  var data = Charts.newDataTable();

  // ④DataTableのカラム(列)としては、今回は「品種」と「売上金額」を使う
  data.addColumn(Charts.ColumnType.STRING, "品種");
  data.addColumn(Charts.ColumnType.NUMBER, "売上金額");
  
  // ⑤スプレッドシート上の表を読み込んで、DataTableに値をセットする
  for(var i=6; i<=9; i++){
    var arr = [
      sheet.getRange(i, 6).getValue(),
      sheet.getRange(i, 7).getValue()
    ];
    data.addRow(arr);
  }
  // DataTableを完成させる
  data.build();
 
  // ⑥グラフオブジェクト(円グラフ = PieChart)を生成する
  var chart = Charts.newPieChart()
  // ⑦準備したDataTableを渡す
  .setDataTable(data)
  // ⑧グラフのタイトルを設定する
  .setTitle("品種別売上比率")
  // ⑨グラフのサイズを指定する
  .setDimensions(400, 350)
  // グラフを生成する
  .build();
  
  return chart;
}

doGet関数
これはブラウザなどから呼び出される入り口になる関数です。今回はグラフ作成を別メソッドとして実装しているので、ここではその関数呼ぶのと、関数の結果からクライアントに返却しています。

ピン1自動化もGoogle Apps Scriptで出来ちゃいます!

さて、GAS を利用したグラフの作成方法は覚えましたでしょうか?大丈夫、覚えてなくても平気です。一度GASでグラフを作ってしまえば、グラフの作り方はGASがコードとして覚えています (^^
後はデータを変更してそのコードを定期的に動かすだけです。これでグラフ作るのは簡単になりました。しかしそれでも面倒ですね。やはり、理想は自動でグラフができてあて、グラフができたことを通知してくれれば言うことはありません。そんな自動化と通知の方法を次回書いていきたいと思います。

マーク次にこちらの情報をご覧ください

  • 無料レポート

スポンサーリンク

Copyright(c) 2014 Natural Fun Factory All Rights Reserved.