Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
chadliagabsi
Creator II
Creator II

FOREACH IN EXPRESSION

Bonjour

j'ai besoin de parcourir les lignes du même flux id et de soustraire la première de la dernière ligne.

test.png

1 Solution

Accepted Solutions
kevinchevrier
Partner - Creator III
Partner - Creator III

Voici un exemple qui fonctionne (je l'ai testé), tu n'as plus qu'à l'adapter à tes noms de champ :

TABLE_TEMP :

LOAD * INLINE [

    IDFLUX, VALEUR

    A, 2

    A, 3

    A, 4

    A, 5

    B, 6

    B, 10

    B, 30

    B, 1

    C, 2

    C, 8

    C, 9

];

TABLE :

Load *, RowNo() as ROWID

Resident TABLE_TEMP

ORDER BY IDFLUX;

DROP TABLE TABLE_TEMP;

VALEUR_MIN_MAX :

Load IDFLUX,

FirstSortedValue(VALEUR,ROWID) as VALEUR_PREMIERE_LIGNE,

FirstSortedValue(VALEUR,-ROWID) as VALEUR_DERNIIERE_LIGNE

RESIDENT TABLE

group by IDFLUX;

View solution in original post

2 Replies
kevinchevrier
Partner - Creator III
Partner - Creator III

Chadlia,

Pas évident de te répondre sans connaître tout tes champs.

Dans l'idée, tu peux utiliser l'expression FirstSortedValue :  FirstSortedValue - fonction de script ‒ QlikView

FirstSortedValue - fonction de graphique ‒ QlikView. ‌Au préalable, tu créé une table avec un numéro par ligne. Ainsi tu pourras chercher le numéro de ligne min et max par IDFLUX (grâce à un group by IDFLUX)

Kevin

kevinchevrier
Partner - Creator III
Partner - Creator III

Voici un exemple qui fonctionne (je l'ai testé), tu n'as plus qu'à l'adapter à tes noms de champ :

TABLE_TEMP :

LOAD * INLINE [

    IDFLUX, VALEUR

    A, 2

    A, 3

    A, 4

    A, 5

    B, 6

    B, 10

    B, 30

    B, 1

    C, 2

    C, 8

    C, 9

];

TABLE :

Load *, RowNo() as ROWID

Resident TABLE_TEMP

ORDER BY IDFLUX;

DROP TABLE TABLE_TEMP;

VALEUR_MIN_MAX :

Load IDFLUX,

FirstSortedValue(VALEUR,ROWID) as VALEUR_PREMIERE_LIGNE,

FirstSortedValue(VALEUR,-ROWID) as VALEUR_DERNIIERE_LIGNE

RESIDENT TABLE

group by IDFLUX;