Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
ESD
Contributor
Contributor

Formule suite de donnée

Bonjour,

Connaissez-vous une formule qui permet de distinguer lorsque une suite de nombre ne se suivent pas ?

Exemple :

17548

17549

17551

Il manque dont le 17550

Le 17551 ne suit pas le précédent

Labels (1)
1 Solution

Accepted Solutions
Sabrina_V
Partner - Creator II
Partner - Creator II

C'était un exemple pour vous montrer le résultat de la formule.

Vous pouvez charger vos données une première fois. => Load * de votre table

Puis dans une seconde étape vous faites : 

  • le calcul de l'écart avec la formule ID - Previous(ID) 
  • trier la table chargée par ordre croissant d'ID

En clair cela donnera : 

TMP : 

LOAD * FROM < Ma table> ;

NOCONCATENATE:

DATA:

LOAD

*,

ID - Previous(ID)  as Ecart

RESIDENT TMP

ORDER BY ID;

DROP TABLE TMP;

 

View solution in original post

6 Replies
Sabrina_V
Partner - Creator II
Partner - Creator II

Essayez de voir du côté de la fonction Previous()

ESD
Contributor
Contributor
Author

Bonjour Sabrina,

 

Merci d'avoir répondu.

Je n'arrive pas a appliquer cette fonction et l'explications donné sur l'utilisation de cette fonction n'est pas claire. Voici ce que j'ai fait :

(Numéro_Fac - Previous(Numéro_Fac) ) as Ecart

Numéro Fac étant ma dimension qui correspond a une dimension a laquelle on applique right(numfac,7) car le premier chiffre est en trop (ex : 17551 avec right mais 717551 sans le right, le 7 étant de trop)

Sabrina_V
Partner - Creator II
Partner - Creator II

Le script testé : 

TEST:
Load * Inline [
ID
17548
17549
17551
];

NoConcatenate
TEMP:
Load
ID,
ID - Previous(ID) as Ecart
Resident
TEST
Order BY
ID;

DROP TABLE TEST;

Le résultat : 

Sabrina_V_0-1682343052182.png

 

ESD
Contributor
Contributor
Author

Vous avez identifier les numéros de factures 1 par 1 mais nous en avons plusieurs centaines voir milliers alors le Inline ne peut pas fonctionner

Sabrina_V
Partner - Creator II
Partner - Creator II

C'était un exemple pour vous montrer le résultat de la formule.

Vous pouvez charger vos données une première fois. => Load * de votre table

Puis dans une seconde étape vous faites : 

  • le calcul de l'écart avec la formule ID - Previous(ID) 
  • trier la table chargée par ordre croissant d'ID

En clair cela donnera : 

TMP : 

LOAD * FROM < Ma table> ;

NOCONCATENATE:

DATA:

LOAD

*,

ID - Previous(ID)  as Ecart

RESIDENT TMP

ORDER BY ID;

DROP TABLE TMP;

 

ESD
Contributor
Contributor
Author

Super !

Merci infiniment Sabrina !