Somme cumulée par formule de regroupement et de valeurs glissantes ??J'ai un ensemble de données avec des groupes, des jours et des visites ces jours-là. Je voudrais obtenir une somme mobile tous les 3 jours, donc au jour 3, la valeur serait la somme des jours 1, 2, 3, mais au jour 4, la valeur est la somme des jours 2, 3,4. Et faites cela par groupe. Je sais que je peux utiliser la somme cumulée par groupe, mais cela renvoie la somme chaque jour, donc le jour 4 serait la somme des 4 jours, mais j'aimerais que le premier jour tombe à ce stade. Toute aide est la bienvenue.
| Groupe | Jour | Visites |
| 1 | 1 | 0 |
| 1 | 2 | 0 |
| 1 | 3 | 9 |
| 1 | 4 | dix |
| 1 | 5 | 14 |
| 1 | 6 | 22 |
| 1 | 7 | 11 |
| 1 | 8 | 12 |
| 2 | 1 | 2 |
| 2 | 2 | 4 |
| 2 | 3 | 1 |
| 2 | 4 | 3 |
| 2 | 5 | 2 |
| 2 | 6 | 2 |
| 2 | 7 | 3 |
| 2 | 8 | 1 |
Mélange et nettoyage des donnéesIngénierie Qualité et ProcédésRe : somme cumulée par regroupement et formule de valeurs glissantes ? ?Une option serait d'utiliser Col Moving Average et de multiplier cela par le nombre de jours
Col Moving Average(:Visits, 1, 2, 0, 1, :Group) * 3

Re : somme cumulée par regroupement et formule de valeurs glissantes ? ?Voici une façon de le gérer

avg = Col Moving Average( :Visits, weighting = 1, before = 2, :Group );
count = Col Cumulative Sum( 1, :Group );
If( count >= 3, avg * 3, . );
@jthi a l'option la plus simple ..... J'ai supposé que Col Moving Average donnait des réponses lorsque n était inférieur à 3.