可変数の選択された行に基づく列式小さい「for each row」ステートメントを置き換えるエレガントな列式を探しています。
値と日付(およびその他のもの)を含むテーブルがあります。 日付は不規則に並んでいます。 私はそれが測定された日付に敏感な値の移動平均のための公式を探しています。 これは時々2つの値だけを含みますが、数十を含むかもしれません。
以下のスクリプトは機能しますが、スクリプトを呼び出す必要があります。 列自体に格納できる式を望んでいます。
dt = current data table();
dt << new column ("LocalAverage", numeric);
for (ii=1, ii<=nrows(dt), ii++,
:LocalAverage[ii] = mean(:value[dt << getrowswhere(Abs(:date - :date[ii]) < 5*24*60*60)])
);
(5日間の平均)
可変数の選択行に基づく列式謝罪します。式に複数のステートメントを含めることが可能であることはわかりませんでした。これは目を見張るものです。ありがとうございました。可変数の選択行に基づく列式私は何かが足りないはずです.......
私が提供したコードは列式であり、独立したスクリプトではありません。
可変数の選択行に基づく列式テキサス州、これはまだスクリプトです。データがテーブルに追加されるたびに実行する必要があります。私は以前に言及しなかったことを認識しています:新しいデータが追加された後にテーブルは最新である必要があります。式列はテーブルが更新される前にあなたのスクリプトと私のスクリプトが呼ばれる必要がある間それを達成するでしょう。可変数の選択行に基づく列式私は次の式がうまくいくと思います.....あるいはそれに近いもの
ckDate = :date[row()];
mean(:value[dt << getrowswhere(Abs(:date - ckDate) < 5*24*60*60)]);