BIRTでチャートを描く際に、X軸に15分区切りの時系列を持って来たくて、データの設定で以下のような稚拙なJavaScriptを書きました。自分用メモね。
var dateSource = Date.parse(row["Timestamp"]); var date = new Date(); date.setTime(dateSource); var hourName = date.getHours().toString() + "時"; var minValue = date.getMinutes(); if (0 <= minValue && minValue < 15) { hourName + "00分"; } else if (15 <= minValue && minValue < 30) { hourName + "15分"; } else if (30 <= minValue && minValue < 45) { hourName + "30分"; } else if (45 <= minValue && minValue < 60) { hourName + "45分"; }
DateTime型のタイムスタンプを持つデータセットを用いて、時間帯別のグラフを表示する際に利用しました。具体的には、「Edit Chart」の「Select Data」タブにあるグラフのX軸設定、「Category (X) Series」のところで、「fx」で設定できる式エディタに上記のコードを書きます。
結果は「*時15分」などの文字列になるのでグルーピング設定として、「Type: Text」「Unit: String」「Interval: 1」でグループ化設定を行えば、15分ごとの時間帯で束ねたX軸のできあがりです。Y軸になにをもってくるかは好きに選んでください。
ちなみに、上記の例では「日をまたがっても、時刻単位で仕分ける」となっています。今日の8時も明日の8時も同じカテゴリでグルーピングされるので、シーケンシャルに「15分おき」にしたいのであれば、getHoursの他に月日も取って文字列として連結してください。
BIRT: A Field Guide (Eclipse Series)
- 作者: Diana Hague, Nola Tatchell, Jane Peh
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2011/02/09
- メディア: ペーパーバック
- この商品を含むブログ (1件) を見る