Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

穴あきデータの補完方法

考えても考えてもアイデアが出てこなかったので

ご教示よろしくお願いします。

各機器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に歯抜けがありますが、これは事前に不要なデータを削除しています。

上手く説明できていないかもしれませんがよろしくお願いします。

1 Solution

Accepted Solutions
hka
Employee
Employee

一部うまく出ていないところがありますが、これでほぼ対応できていると思います。

数式が複雑なのでデータ量が増えるとパフォーマンスに影響が出てくる可能性があります。

ロードスクリプトで空白値を埋めるようにした方が数式も複雑にならずに対応できると思います。

View solution in original post

7 Replies
hka
Employee
Employee

テーブルデータで表現する必要がありますか。

下図のように折れ線グラフで表現する方法ではダメでしょうか。

Anonymous
Not applicable
Author

ご検討ありがとうございます。

可能であればテーブルデータで表示したいと考えています。

よろしくお願いします。

ちなみに、このグラフをExcel出力したらテーブルデータのような数値が表示されるのでしょうか?

hka
Employee
Employee

>ちなみに、このグラフをExcel出力したらテーブルデータのような数値が表示されるのでしょうか?

頂いたサンプルデータを基に作成したので、残念ながらされません。

hka
Employee
Employee

ID、日付、時間帯で表示するようなテーブルデータですが、

同じ時間帯で値が変化した場合はどうするのでしょうか。

時間       値

8/1 0:00:00     28

8/1 0:10:00     27

この場合、単純に値を出力しようとすると8/1の0時台は値が複数になるのでnullになります。

hka
Employee
Employee

完全ではないですが、このような感じにはできました。

0時台に値がない場合、前日の23時の結果を引き継ぐようにしていますが

前日の23時に値がない場合0時台に結果を引き継げません。

もしここを実現する場合、ロードスクリプトで補完するサマリデータを作成する必要があります。

hka
Employee
Employee

一部うまく出ていないところがありますが、これでほぼ対応できていると思います。

数式が複雑なのでデータ量が増えるとパフォーマンスに影響が出てくる可能性があります。

ロードスクリプトで空白値を埋めるようにした方が数式も複雑にならずに対応できると思います。

Anonymous
Not applicable
Author

返信が遅くなり申しわけありません。

ご回答ありがとうございました。

ロードスクリプトの中でどうにかするという考えにはまってしまい、

数式の中で出来るんですね、勉強になります。

ありがとうございました。