Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous,
Bonne année à tous dans un premier temps !
Je sollicite votre aide pour cette problématique : Mon fichier Excel ci dessous
LOC | ATC_Reev |
A | A07AA12 |
A | J04AB02 |
A | J04AM05 |
A | J04AM02 |
A | P01AB |
A | J01FA01 |
A | J01FA02 |
A | J01FA03 |
A | J01FA06 |
A | J01FA07 |
A | J01FA09 |
A | J01FA15 |
B | A07AA12 |
B | J01 |
B | J04AB02 |
B | J04AM05 |
B | J04AM02 |
B | P01AB |
C | A07AA12 |
C | J01 |
C | J04AB02 |
C | J04AM05 |
C | J04AM02 |
C | P01AB |
D | A07AA12 |
D | J01 |
D | J04AB02 |
D | J04AM05 |
D | J04AM02 |
D | P01AB |
Mon objectif:
Récupérer les données de la base en fonction de ces critères par localisation.
Pour ce faire j'ai réalisé une clé qui fonctionne : Location&'-'&Code_A
Mon problème :
J01 je dois récupérer sur la base la totalité des champs ayant 7 caractères qui commence par J01
Cependant pour d'autre localisation je dois récupérer des champs appartenant à J01 =
J01FA01 |
J01FA02 |
J01FA03 |
J01FA06 |
J01FA07 |
J01FA09 |
J01FA15 |
Avez vous une idée sur comment solutionner ce problème svp ?
Je suis partis sur cela : if(CODE_ATC_tmp1>='J01' and CODE_ATC_tmp1 <='J02','J01',CODE_ATC_tmp1) as CODE_ATC_tmp2;
J'aimerai par ailleurs marquer les résultats par un 1 pour tout simplement quand lors d'une sélection sur un champ avoir tout mes critères :
LOAD *,
pick(match(Flag_Prio_tmp,'1','-2','-3','-4'),'Prio A','Prio D','Prio C','Prio B') as Indic_Prio;
LOAD*,
(Flag_A_tmp)-(Flag_D_tmp)-(Flag_C_tmp)-(Flag_B_tmp) as Flag_Prio_tmp;
LOAD*,
if(Age>=75 and Loc= 'A',1,0) as Flag_A_tmp,
if(Age>=65 and Loc= 'D',2,0) as Flag_D_tmp,
if(Loc='C',3,0) as Flag_C_tmp,
if(Loc='B',4,0) as Flag_B_tmp;
Dans l'attente de votre réponse, excellente journée !
AB
Bonjour,
Juste pour ajuster la formule, essayes ceci :
if((Match(LOC,'A') and match(ATC_Reev,'J01FA01','J01FA02','J01FA03','J01FA06','J01FA07','J01FA09','J01FA15')),'catégorie1',
if((LOC<>'A') and wildmatch(ATC_Reev,'J01*'),'catégorie2')) as CODE_ATC_tmp2
sinon si tu as d'autres explications à fournir, on peut proposer autres choses
Bonjour,
Je ne sais pas pour les autres utilisateurs, mais j'ai pas bien compris la problématique , et le fichier source je pense que n'est pas complet ?
Bonjour Taoufik,
Tout d'abord merci pour ta réponse rapide.
Ma problématique :
- Borner les champs de ma colonne 'ATC' sur les critères du fichier excel c'est à dire :
Pour loc A (récupérer uniquement la liste de la colonne ATC= J01FA01 à J01FA15)
Pour loc B, C et D ( récupérer toutes les données de la liste ATC commençant par J01)
Et pardonne moi pour mon scipt il est vrai que cela vous mettra en erreur étant donné que j'ai d'autre variable a intégrer, que je n'ai pas en plus expliqué.
Le script a corrigé est celui ci : comment trier les données pour ainsi récupérer deux variables différentes sur un même champs J01* et J01FA01 à J01FA15. En te remerciant d'avance pour ton aide !
LOAD*,
if(CODE_ATC_tmp1>='J01' and CODE_ATC_tmp1 <='J02','J01',CODE_ATC_tmp1) as CODE_ATC_tmp2;
Re bonjour,
😊j'ai pas encore compris ce que tu veux faire,
mais sur les deux points indiqués :
Pour loc A (récupérer uniquement la liste de la colonne ATC= J01FA01 à J01FA15)
Pour loc B, C et D ( récupérer toutes les données de la liste ATC commençant par J01)
j'ai compris que tu veux ajouter un nouveau champs CODE_ATC_tmp2 avec la condition loc A +ATC= J01FA01 à J01FA15 -> par exmeple catégorie1
sinon B, C et D+ ATC commençant par J01 > par exmeple catégorie2
je te propose le script :
if((Match(LOC,'A') and wildmatch(ATC_Reev,'J01FA*')),'catégorie1',
if((LOC<>'A') and wildmatch(ATC_Reev,'J01*'),'catégorie2')) as CODE_ATC_tmp2
sinon si c'est autre chose, re-explique le besoin avec des exemples c'est mieux
Taoufik,
En te remerciant déjà pour ton aide et encore de ta réactivité.
Ta réflexion est juste et il est vrai que sans ex cela est compliqué :
Tout d'abord laisse moi t'expliquer la finalité : Mon but final est de présenter à l'utilisateur un seul champ qui lui permettra ainsi de faire correspondre tous les critères par ex champ = LOC qui sélectionnera toutes les sous familles de codes ATC.
Ex : En cliquant sur Loc (le end-user) aura donc dans un champ les codes du champs codeATC (fichier Excel).
Fichier Excel : attention les codes ont deux catégories différentes en fonction du nombre de caractère, le code J01 récupère toute la famille et sur une seule localisation ='A' on me demande de bien sélectionner la famille J01FA01 à J01FA15).
Le problème qui se pose c'est qu'actuellement j'arrive pas a trier les données de la famille J01 qui à 7 caractères J01FA01 à J01FA15 :
if(ATC_Reev<='J01' and ATC_Reev>'J01',J01',ATC_Reev) as Cat_j01 // cette instruction me borne uniquement les familles pas les sous familles
En espérant être claire et en te remerciant encore pour ton aide !
AB
Bonjour,
J'ai parcouru le sujet et il serait intéressant de poser au clair la situation, l'attendu et le cheminement à avoir car c'est un peu brouillon.
Tu peux passer par un mapping si tes données sont plus ou moins codifier de la même manière pour faire tes regroupement.
Pour la partie "trier" selon tes expressions et dimensions tu gardes le détail (un set analysis à la rigueur peut être inséré).
Cordialement
Isalview
Je viens de tester ta solution : il manque une chose avec ton code j'obtiens :
la famille J01 = OK
Cependant je ne souhaite pas récupérer tous les champs J01FA* uniquement les classes :
J01FA01 |
J01FA02 |
J01FA03 |
J01FA06 |
J01FA07 |
J01FA09 |
J01FA15 |
En te remerciant pour ton aide
AB
Bonjour,
Juste pour ajuster la formule, essayes ceci :
if((Match(LOC,'A') and match(ATC_Reev,'J01FA01','J01FA02','J01FA03','J01FA06','J01FA07','J01FA09','J01FA15')),'catégorie1',
if((LOC<>'A') and wildmatch(ATC_Reev,'J01*'),'catégorie2')) as CODE_ATC_tmp2
sinon si tu as d'autres explications à fournir, on peut proposer autres choses
Bonjour et merci pour ton aide j'avais essayé avec & ça marche également.
Encore merci pour ton aide, j'ai d'autre question je vais essayé du coup de faire au plus simple pour la prochaine question mais il est vrai que cela n'est pas du tout évident quand il y a plusieurs condition à prendre.
Bonne journée à toi !
AB