2010-09-25 3 views
0

Lorsque vous utilisez un agrégat, comment puis-je faire référence à une période précédente dans la fonction? Par exemple, si vous cumulez par jours comment faire référence au jour précédent à partir du jour suivant pour calculer la fonction. Par exemple, si j'avais une série horaire d'un an et que je calculais le maximum d'un jour moins le minimum du jour précédent, je pourrais utiliser deux agrégats différents, en décalant l'un d'eux et en soustrayant l'autre, mais comment pourrais-je faire tout de l'intérieur d'un seul agrégat?Comment faire référence à d'autres périodes ou colonnes lors de l'utilisation de aggregate()

Comment puis-je connaître le numéro de la pièce (ici le jour) où suis-je pour l'utiliser dans la fonction?

acclamations

+3

modifier votre question pour afficher le code correctement (voir l'icône 101010), et ajoutez quel type vos données sont. En ce moment, il est tout à fait impossible d'obtenir ce que vous vous dirigez. Votre construction agrégée est complètement défectueuse (aucun index fourni et 2 fonctions fournies) –

+0

Je l'ai modifié. Je ne sais vraiment pas comment l'écrire, c'est pourquoi je le demande en résumé. – skan

+0

@ user425895 Ajoutez simplement un exemple de code, mais placez-le en tant que code. La fonction "queue" dans votre code d'échantillon était vraiment étrange, je n'avais aucune idée de ce que vous essayiez de faire. Si vous avez besoin d'agrégats pour accéder à un résultat précédent, vous souhaiterez peut-être repenser votre approche. –

Répondre

0

Tant que vous l'avez correctement triées, vous pouvez utiliser la fonction shift() je fournis en réponse à a (much more specific) question.

+0

Si quelqu'un a des suggestions sur la façon d'éviter d'utiliser ma fonction kludged-shift(), s'il vous plaît faites le moi savoir. Il semble que quelqu'un ait écrit une telle fonction auparavant. –

Questions connexes