Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous,
J’ai besoin de votre lumière pour résoudre ma problématique svp :
Voici ce que j’ai en base :
Prio :
Load
Loc, //Loc1
Prod, // A01N9, A09NE8, AZE091, AZE904, AEZRT03, AZERT9, AEZ0JG
ID, // 25896
Num_client // 89503
From Base;
Demande : J’aimerai classifier par ordre croissant la liste de produit acheté par ID.
Ex : Pour le champ ID : 25896, j’aimerai obtenir une liste numérique de 1 à 7 qui réalisera en gros la correspondance entre produit et ID. Cela m’indiquera combien de produit sont dans ID et me les classifiera par nombre entier.
Ex du résultat : 1 = A01N9, 2= A09NE8, 3= AZE091, 4 =AZE904, 5=AEZRT03, 6=AZERT9, 7=AEZ0JG.
En vous remerciant d’avance pour votre aide, bonne journée.
XD
Bonjour,
plusieur façon de faire, je te propose une avec Load Script, pourquoi en load pour que dans le futur si le client demande de changer le code par exemple tu n'a pas à refaire l'ensemble des formules
alors le code en load est :
Data:
LOAD LOC,
Prod,
ID,
Client,
Date(Date_dbt) as Date_dbt,
Date(Date_detail) as Date_detail,
Date(Date_fin) as Date_fin ,
Liste
FROM
[.\Sample.xlsx]
(ooxml, embedded labels, table is Feuil1);
resultat:
noconcatenate
load Client,
if(Prod='A02BC05',1,0) as flag_produit
resident Data;
inner join
load
if(count(Prod)>=7,1,0) as flag_nbr,
Client
resident Data
group by Client
;
left join load * resident Data;
drop table Data;
donc tu as deux flags:
flag_produit: est égal à 1 si le client a acheter le produit ' A02BC05'
flog_nbr: si le client à acheter plus de 7 produit.
avec ça tu peux utiliser le set analysis pour sortir l'ensemble de tes visualisations:
par exemple : le nombre de client avec le produit A02BC05 et plus de 7 produit :
=count( {<flag_produit={1},flag_nbr={1}>} distinct Client)
etc
le tableau simple :
NB: tu peux optimiser le code de chargement si besoin
Bonjour,
si j'ai bien compris pour chaque ID, tu veux assosier une valeur 1.2.3.... => ID
dans ce cas je te propose d'ajouter cette ligne dans le script load :
AutoNumber(RecNo(), ID) as Liste,
j'ai crée ici un exemple de data, j'ai ajouter un autre ID juste pour voir les résultats, le script devient :
Data:
LOAD AutoNumber(RecNo(), ID) as Liste,* INLINE [
Loc, Prod,ID, Num_Client
Loc1, A01N9, 25896, 89503
Loc1, A009NE8, 25896, 89503
Loc1, AZE091, 25896, 89503
Loc1, AZE904, 25896, 89503
Loc1, AEZRT03, 25896, 89503
Loc1, AZER9, 25896, 89503
Loc1, AEZ0JG, 25896, 89503
Loc1, AEZRT03, 25895, 89503
Loc1, AZER9, 25895, 89503
Loc1, AEZ0JG, 25895, 89503
];
et les résultats en tableau :
je ne sais pas si ce que tu cherches ou pas
Merci pour ta réponse rapide, pas tout à fait ce que je veux.
J'aurai du te partager directement le fichier excel : le voici en pièce jointe.
Mon souhait est d'obtenir une liste croissante par rapport aux produits consommés, cette 'liste' me permettrai de marquer les produits sortis 'j'ai omis également la notion de date' mais clairement ce n'est pas important pour moi de classifier cela par date.
Pour info : mon but final n'est pas celui la : c'est de classifier tous les ID qui ont plus de 6 produits.
Selon mes connaissances je ne peux pas avancer sans ce point à moins que je me trompe...
En te remerciant
pour le fichier envoyé, quel est le le résultat souhaité ?
Bonjour,
En gros le résultat attendu dépend de ces critères :
- Filtrer tous les clients qui ont consommés >=7 produits
- Parmi ces 7 produits ils doivent obligatoirement avoir acheté des codes produits appartenant à une liste qui récapitule les codes produits. Parmi les codes produits on me demande de remonter ce code = A02BC05
Dans notre ex on a un client qui a acheté ce produit A02BC05 donc note client 24370 doit remonter étant donné qu'il a consommé >=7 produits.
En te remerciant pour ton aide.
XD
Bonjour,
plusieur façon de faire, je te propose une avec Load Script, pourquoi en load pour que dans le futur si le client demande de changer le code par exemple tu n'a pas à refaire l'ensemble des formules
alors le code en load est :
Data:
LOAD LOC,
Prod,
ID,
Client,
Date(Date_dbt) as Date_dbt,
Date(Date_detail) as Date_detail,
Date(Date_fin) as Date_fin ,
Liste
FROM
[.\Sample.xlsx]
(ooxml, embedded labels, table is Feuil1);
resultat:
noconcatenate
load Client,
if(Prod='A02BC05',1,0) as flag_produit
resident Data;
inner join
load
if(count(Prod)>=7,1,0) as flag_nbr,
Client
resident Data
group by Client
;
left join load * resident Data;
drop table Data;
donc tu as deux flags:
flag_produit: est égal à 1 si le client a acheter le produit ' A02BC05'
flog_nbr: si le client à acheter plus de 7 produit.
avec ça tu peux utiliser le set analysis pour sortir l'ensemble de tes visualisations:
par exemple : le nombre de client avec le produit A02BC05 et plus de 7 produit :
=count( {<flag_produit={1},flag_nbr={1}>} distinct Client)
etc
le tableau simple :
NB: tu peux optimiser le code de chargement si besoin
Taoufik
J'ai essayé ton code en ajoutant cela ça marche :
AutoNumber(RecNo(), ID&'-'&LOC) as Flag_Liste_Presc_CSC // me réalise une liste de 1 à x produits consommés
En te remerciant je vais testé également ton code, merci encore pour ton aide !
Excellente journée !