Colonne calculée Spotfire

Je suis nouveau chez Spotfire et j'espère que vous pouvez vous aider. J'ai une feuille Excel de plus de 280 000 lignes, par conséquent, ma feuille Excel devient EXTREMEMENT lente lorsque je lance ma formule. J'espérais que Spotfire pourrait vous aider. Ce que j'essaie d'atteindre est le suivant: un médecin est payé en un certain montant en 2015, puis exactement le même montant est repris en 2016. Je cherche à identifier ces versements en 2015 et à reprendre en 2016 les transactions uniquement sur les 280 000 lignes . La figure ci-dessous montre et l'exemple de la positive et négative dans Excel. entrez la description de l'image ici

À l'aide des colonnes D, L, N et JI ont utilisé une formule SUMIFS pour identifier dans la colonne O Les transactions positives et négatives qui décalent à zéro. Spotfire peut-il atteindre la même chose dans une colonne calculée sans le LOWING de l'ordinateur?

Voici ce que j'ai jusqu'à présent dans Spotfire, mais je suis très nouveau et le Synax est nouveau pour moi. entrez la description de l'image ici Une colonne calculée peut-elle entrer après la colonne de la date et identifier le Positif et le Négatif pour 2015 et 2016 qui décalent à zéro? Toute aide serait grandement appréciée. Je vous remercie

Premier pas entrez la description de l'image ici

Rien n'est revenu dans la 3ème colonne entrez la description de l'image ici

C'est la formule que j'avais l'habitude d'atteindre ce dont j'avais besoin pour que Excel réussisse longtime à traiter, mais cela fonctionne. pouvons-nous adopter cette formule pour Spotfire? entrez la description de l'image ici

Vous pouvez y parvenir en agrégant avec une clause en sur. Si vous pouvez coller une version text de votre set de données, nous pouvons vous assurer que nous l'obtenons 100% à droite, mais voici ce que vous voulez.

Obtenez la sum pour l'année 2015 pour chaque client. Cette formule indique si l'année du Paiement est 2015, puis résumez l'set de la colonne Montant et regroupez-le par l'ID du client.

If(DatePart("year",[Date of Payment])=2015,Sum([Amount]) OVER ([CustomerID])) as [2015CustomerTotal] 

Obtenez la sum pour l'année 2016 pour chaque client

 If(DatePart("year",[Date of Payment])=2016,Sum([Amount]) OVER ([CustomerID])) as [2016CustomerTotal] 

Ensuite, vous pouvez vérifier si elles ne sont pas terminées.

 If([2016CustomerAmount] - [2015CustomerAmount] = 0,True,False) 

J'ai donc eu le travail suivant (V fier de moi-même)

 If(DatePart("year",[Date of Payment])=2015, True,False) 

Pour continuer d'en haut, je dois savoir que quand il y a un négatif en 2016 et qu'il correspond à un Positif en 2015 pour le montant et que les identifiants de la colonne [Nature] et [ID client] correspondent, returnnez-moi "GOT YOU" ou "1 ":-) toute aide serait grandement appréciée.

Ne sais pas pourquoi cela ne fonctionne pas

 CASE WHEN ([Amount]>0) AND (DatePart("year",[Date of Payment])=2015) Then "GOT YA" 

deviner

 CASE WHEN [Amount]>0 AND (DatePart("year",[Date of Payment])=2015) Then "GOT YA" else "No GOT" end 

Ok alors, nous arrivons à un endroit où je me sens 🙂 Donc, ce qui suit me dit maintenant où il y avait un paiement en 2015

 CASE WHEN [Amount]>0 AND (DatePart("year",[Date of Payment])=2015) Then "1" else "0" end 

et ci-dessous, il me dit maintenant où il y avait un montant négatif ou de l'argent pris en 2016

 CASE WHEN [Amount]<0 AND (DatePart("year",[Date of Payment])=2016) Then "1" else "0" end 

Ok, j'ai ajouté un visuel pour mieux décrire mon problème. Ce que je voudrais que la fonction personnalisée soit: où il y a 1 dans [Pay en 2015] et 1 dans [rembourser en 2016] et [l'identifiant client] rest le même et le 1 de [Pay in 2015] et les 1s de [rembourser 2016] décalent la colonne [montant] à zéro puis me montrent "1" autrement "0" dans une nouvelle colonne entrez la description de l'image ici