分析テンプレートによる累加について

分析プレートを用いて、指定データにおける1時間ごとの累加をしたいのですが、どのようにやればよいですか?また、累加は24時間でクリアされるようにしたいと考えています。イメージは下記の通りです。

 

日時(実値:演算結果)

2019/5/25 0:00(20:20)     

2019/5/25 1:00(20:40)

2019/5/25 2:00(30:70)

2019/5/25 23:00(XX:YYY)

2019/5/26 0:00(20:20)

2019/5/26 1:00(50:70)

 

もし、やり方がわかる方がいらしたら、教えて頂きたく、お願い致します。

Parents
  • ご投稿いただきありがとうございます。

     

    期間を指定し、イベント加重の加算をするには、TagMean関数で算出した平均値をEventCount関数で算出したイベントの数で掛ける必要があります。TagMeanとEventCount関数に与える開始時刻を、Bod関数を使用して「本日の始まりの時刻」とすれば、24時間ごとの累積値が計算できます。

    スケジューリングを「周期的」「期間:1時間」として毎時の計算とするよう設定ください。

    設定イメージは以下のスクリーンショットの通りです。


    2019-05-27_16h32_55.png.png

     

    念のため、式を以下に記載します。

     

    If Hour('*') = 0 
    Then '実値' 
    Else (TagMean('実値',Bod('*'),'*') * (EventCount('実値', Bod('*'),'*')))
    

  • ご回答頂きありがとうございます。

    純粋に累加ではなく、累積になるのですね。解析対象としているデータは、累積でも問題ないので、このスクリプトを活用させて頂きます。

     

    確認ですが、上記例で記載された「'実値'」が分単位の連続データである場合を想定し、スケジューリングの設定をされたということでしょうか?

     

    また、上記で演算した結果をPIvisionで表示させようとした場合、画面が固まってしまいます。何かよい対処法はありますか?

     

    お手すきの際にご回答頂けますと幸いです。

  • ご回答いただきありがとうございます。

    知識不足で大変申し訳ないのですが、以下の内容について、追加でご説明頂けますと幸甚です。

     

    >もし「'実値'」が連続データであり、1時間ごとの時間加重積算(時間積分)を累積したい場合は、TagTot関数を使用ください。

     

    スケジューリングの設定は、どのようなアクションを要求する場合に使用されますか?

    また、連続データに対し、1時間ごとの時間平均を累加したい場合の関数はございますか?

    一通り関数を眺めてみましたが、見当たりませんでした(これの対策がTagmeanということですか?)。

     

     

    >もし、分析の出力結果の履歴を残さないよう設定(出力結果をタグに保存しない設定)をしている場合は、履歴を残すように設定を変更ください。

     

    履歴の保存を設定すると、「式が無効です」とエラーがでました。考えられる原因はなんでしょうか?

     

    以上

  • > 確認ですが、上記例で記載された「'実値'」が分単位の連続データである場合を想定し、スケジューリングの設定をされたということでしょうか?

     

    上記のサンプルで想定していた「'実値'」データは、毎時に新しい値に更新されることを想定しておりました。

    その値を毎時、イベント加重で加算し累積しています。

    もし「'実値'」が連続データであり、1時間ごとの時間加重積算(時間積分)を累積したい場合は、TagTot関数を使用ください。

     

    > また、上記で演算した結果をPIvisionで表示させようとした場合、画面が固まってしまいます。何かよい対処法はありますか?

     

    もし、分析の出力結果の履歴を残さないよう設定(出力結果をタグに保存しない設定)をしている場合は、履歴を残すように設定を変更ください。

    変更箇所:


    pastedImage_1.png.png

    分析の出力結果の履歴を残さないよう設定(出力結果をタグに保存しない設定)をしている場合は、クライアント側での読み込みが遅くなる傾向にあります。理由として、履歴を残さない場合、データの要求があるたびにクライアント側で演算を行うためです。

    履歴を残すよう設定すれば、クライアントは、演算済みのデータを読み込むだけの処理で済むため、表示は高速化します。

  • 返答が遅くなり申し訳ありません。

     

    > スケジューリングの設定は、どのようなアクションを要求する場合に使用されますか?

     

    分析のスケジューリングには2通りあり、一定時間毎に計算を行う「周期的」と、定めた入力値の最新データが更新されたタイミングで計算を行う「イベントトリガー」があります。

    どのような演算結果を必要とされているかにより選択ください。

     

    今回のお問い合わせのように「1時間ごと」の演算結果が必要な場合は、「周期的」のスケジューリングを指定します。

     

    > また、連続データに対し、1時間ごとの時間平均を累加したい場合の関数はございますか?

    > 一通り関数を眺めてみましたが、見当たりませんでした(これの対策がTagmeanということですか?)。

     

    「1時間ごとの時間平均を累加」とは、具体的にどのような演算を求められているか教えていただけますか?

    もし、1分ごとに計測されている連続データについて、指定した時間範囲内の時間加重平均を計算したいのであればTagAvg関数を使用します。

    その結果をすべて足し合わせたい、ということであれば、一度TagAvg関数でタグに履歴を出力した結果を、別の分析にて足し合わせる方法が考えられるかと思います。タグ値の演算関数において「指定した時間範囲内の、すべての値を足し合わせる」という関数のご用意がありませんので、前に挙げた例のように「TagMean関数で算出した平均値をEventCount関数で算出したイベントの数で掛ける」という方法を取る必要があります。

     

    > 履歴の保存を設定すると、「式が無効です」とエラーがでました。考えられる原因はなんでしょうか?

     

    式は動作しているでしょうか。「評価」ボタンを押下すると、結果は表示されますか?


    pastedImage_1.png.png

    また、履歴の保存先のタグは作成されているでしょうか?

     

  • ご丁寧にご説明頂きありがとうございます。

     

    おかげさまで疑問点を解消することができました。

    また、履歴の保存については、「値の型」を「Int32」から「Double」に修正することで解消しましたので、クローズとさせて頂きました。

     

    以上、今後ともよろしくお願い致します。

Reply
  • ご丁寧にご説明頂きありがとうございます。

     

    おかげさまで疑問点を解消することができました。

    また、履歴の保存については、「値の型」を「Int32」から「Double」に修正することで解消しましたので、クローズとさせて頂きました。

     

    以上、今後ともよろしくお願い致します。

Children
No Data