Pouvons-nous utiliser "for loop" dans Column Formula ?Salut tout le monde,
Existe-t-il un moyen de combiner ces deux opérations (Créer une nouvelle colonne puis exécuter une ForLoop) en une seule ?
J'ai répété les identifiants clients dans une colonne, puis cela change à un moment donné et le 2ème identifiant continue de se répéter, puis le 3ème et ainsi de suite. Je souhaite créer une nouvelle colonne, par exemple, Unq_Id et ses valeurs doivent être vides jusqu'à ce que Customer_Id change. Je peux le faire dans le script ci-dessous, mais je me demande s'il y a une meilleure façon de le faire ? Cela signifie - exécuter une boucle dans Column Formula, ou quelque chose de similaire !
dt << Nouvelle colonne ( "Unq_ID", numérique, continu, définir chaque valeur ());
dt << Trier( par(:Customer_ID), Order(Croissant), Replace Table(1) );
Pour (i = 1, i <= N lignes(dt), i++,
Si(
:Customer_ID[i] == :Customer_ID[i+1], :Unq_ID[i] = :Customer_ID[i]
)
);
Toute suggestion?
merci Hari
ScriptRe: Pouvons-nous utiliser "for loop" dans Column Formula ?Voici une façon de faire

Names Default To Here( 1 );
dt = New Table( "custIDs",
New Column( "Customer_ID",
character,
values( {"c1", "c1", "c1", "c2", "c2", "c3", "c3", "c3"} )
)
);
For( i = 1, i <= N Rows( dt ), i++,
If( i == 1,
dt << New Column( Char( :Customer_ID[i] ), character );
Column( dt, :Customer_ID[i] )[i] = :Customer_ID[i];
,
If( :Customer_ID[i] != :Customer_ID[i - 1],
dt << New Column( Char( :Customer_ID[i] ), character )
)
);
Column( dt, :Customer_ID[i] )[i] = :Customer_ID[i];
);
Re: Pouvons-nous utiliser "for loop" dans Column Formula ?Salut Nelson, j'y ai pensé mais ce n'est pas ce que je recherche.
Le script que vous avez fourni me donne quelque chose comme ci-dessous. Et celui que je recherche est à l'intérieur du tringle rouge.

Aussi, plutôt que de mettre c1, c2.... comment mettre 1, 2, 3... sorte de compteur, qui augmente de 1 dès qu'il y a un changement.
De l'aide?
Re: Pouvons-nous utiliser "for loop" dans Column Formula ?Voici quelques façons de créer la colonne que vous voulez

Names Default To Here( 1 );
dt = New Table( "custIDs",
New Column( "Customer_ID", character, values( {"c1", "c1", "c1", "c2", "c2", "c3", "c3", "c3"} ) )
);
dt << New Column( "Or like this" );
counter = 0;
For( i = 1, i <= N Rows( dt ), i++,
If(
i == N Rows( dt ),
counter++;
:or like this[i] = counter;,
:Customer_ID[i] != :Customer_ID[i + 1],
counter++;
:or like this[i] = counter;
)
);
// or
dt << New Column( "or like this using formula",
formula(
x = .;
If( Row() == 1, counter = 0 );
If( :Customer_ID != Lag( :Customer_ID, -1 ) | Row() == N Rows( Current Data Table() ),
counter++;
x = counter;
);
x;
)
);
Re : Pouvons-nous utiliser la "boucle for" dans la formule de colonne ?Oui, je cherchais le 2ème type de solution.
Merci.