Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
考えても考えてもアイデアが出てこなかったので
ご教示よろしくお願いします。
各機器IDが動作を開始、終了した時と、センサー値が変化した際にログを出力している
ようにしており、繰り返し動作を開始終了している挙動をとっています。
(添付ファイル参照)
ID :
set番号 : ID単位で動作開始~終了を1セットとしたときの番号をカウント
set_seq : 1セット内で開始を「1」としたset終了までのvalue値の変更回数(終了も変更としてカウント)
time : 各レコードが出力された時間
ON_OFF : 開始と終了を表す、開始は48、終了は49
value : 開始から終了までに出力されるセンサー値、終了時は「-」が表示されている
開始と終了及びvalue値の変化時のみレコードが出力されており変化した時間しからセンサー値を捉えられていない。
変化していない時間もvalue値がわかるようにしたい
下記のような行列で表示させたいです。
行:ID、日付(yyyy/mm/dd)
列:時間(hour)
値:開始~終了までのvalue値
例えば、8/1 13:00(ON_OFF=48,value=28)に開始
15:00(value=30) センサー値が変化
20:00(value=25) センサー値が変化
8/2 10:00(ON_OFF=49,value=-)に終了した場合
→8/1の13時から8/2の10時まで変化するまでのセンサー値が表示されるようにしたい
※添付ファイルにてset番号やset_seqに歯抜けがありますが、これは事前に不要なデータを削除しています。
上手く説明できていないかもしれませんがよろしくお願いします。
一部うまく出ていないところがありますが、これでほぼ対応できていると思います。
数式が複雑なのでデータ量が増えるとパフォーマンスに影響が出てくる可能性があります。
ロードスクリプトで空白値を埋めるようにした方が数式も複雑にならずに対応できると思います。
テーブルデータで表現する必要がありますか。
下図のように折れ線グラフで表現する方法ではダメでしょうか。
ご検討ありがとうございます。
可能であればテーブルデータで表示したいと考えています。
よろしくお願いします。
ちなみに、このグラフをExcel出力したらテーブルデータのような数値が表示されるのでしょうか?
>ちなみに、このグラフをExcel出力したらテーブルデータのような数値が表示されるのでしょうか?
頂いたサンプルデータを基に作成したので、残念ながらされません。
ID、日付、時間帯で表示するようなテーブルデータですが、
同じ時間帯で値が変化した場合はどうするのでしょうか。
時間 値
8/1 0:00:00 28
8/1 0:10:00 27
この場合、単純に値を出力しようとすると8/1の0時台は値が複数になるのでnullになります。
完全ではないですが、このような感じにはできました。
0時台に値がない場合、前日の23時の結果を引き継ぐようにしていますが
前日の23時に値がない場合0時台に結果を引き継げません。
もしここを実現する場合、ロードスクリプトで補完するサマリデータを作成する必要があります。
一部うまく出ていないところがありますが、これでほぼ対応できていると思います。
数式が複雑なのでデータ量が増えるとパフォーマンスに影響が出てくる可能性があります。
ロードスクリプトで空白値を埋めるようにした方が数式も複雑にならずに対応できると思います。
返信が遅くなり申しわけありません。
ご回答ありがとうございました。
ロードスクリプトの中でどうにかするという考えにはまってしまい、
数式の中で出来るんですね、勉強になります。
ありがとうございました。