Je cherche une formule de colonne elgant pour remplacer une petite déclaration "pour chaque ligne".
J'ai une table avec une valeur et une date (et d'autres choses). Les dates sont irrégulièrement espacées. Je cherche une formule pour une moyenne glissante de la valeur, sensible à la date à laquelle elle a été mesurée. Cela inclut parfois seulement deux valeurs, mais peut en inclure des dizaines.
Le script ci-dessous fonctionne, mais nécessite que le script soit appelé. J'espère une formule qui peut être stockée dans la colonne elle-même.
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)])
);
(moyenne sur 5 jours)
J'ai dû louper quelque chose.......
Le code que j'ai fourni est une formule de colonne, pas un script indépendant.
Je crois que la formule suivante fonctionnera ..... ou quelque chose de proche
ckDate = :date[row()];
mean(:value[dt << getrowswhere(Abs(:date - ckDate) < 5*24*60*60)]);