ロータリ型のカウンタ値から差分を求め、結果として積算値を求める。たとえば0~9999まで変化するロータリ型のカウンタではmax(最大値)に9999を指定する。
例)
自動的にカウントアップされる積算カウンタから積算値を求める場合を例として説明します。
積算値の算出には、リングカウンタの範囲(0から9999など)、リングカウンタの値の変化の履歴(いくつから、いくつに変化したか)、そして、現在の積算値(前回算出した積算値)を使用します。
具体的には、まず、積算カウンタの値の変化を履歴データとして配列に保持しておきます。リングカウンタの範囲は0から9999で、積算カウンタの履歴データが10、20、30、40と変化し、前回算出した積算値が1000とした場合、以下のように指定します。
Math.AddingUp(1000,c(10,20,30,40),9999)
この結果、1000+(40-10) となり、1030となります。
|