Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous,
Je suis nouveau sur Qlik Community et je rencontre un véritable blocage depuis quelques jours...
Pour faire simple je charge une table qui s'appelle MAIN_COURANTE et qui contient globalement les champs suivants:
MAIN_COUR:
LOAD
"MAIN_ID_JOURNAL",
"MAIN_USER",
"MAIN_DATE_FIN",
"MAIN_DATE_DEBUT",
"MAIN_RESULTAT",
"MAIN_ID_DOSSIER",
"MAIN_COMMENTAIRE",
"MAIN_ID_SITE",
"MAIN_CREATE_DATE";
SQL SELECT
"MAIN_USER",
"MAIN_DATE_FIN",
"MAIN_DATE_DEBUT",
"MAIN_RESULTAT",
"MAIN_ID_JOURNAL",
"MAIN_ID_DOSSIER",
"MAIN_COMMENTAIRE",
"MAIN_ID_SITE",
"MAIN_CREATE_DATE"
FROM...
WHERE "MAIN_RESULTAT" in(100,101,102)
and main_date_debut > '$(vToday)';
Comme vous pouvez le voir je filtre uniquement les MAIN_RESULTAT sur 100,101 et 102.
Pour l'instant pour vous donner un exemple pour un MAIN_ID_JOURNAL je sors les données suivantes:
Alors que mon objectif serait d'avoir à la place le modèle ci-dessous:
J'aurais en fait besoin de transposer les résultats obtenus et les conserver dans une seule et unique table MAIN_COUR.
L'objectif serait en fait de faire devenir MAIN_ID_JOURNAL en tant que clé unique (qui est actuellement MAIN_ID_MAINCOUR mais dont je n'ai pas besoin et qui n'est pas chargée dans l'appli).
Tous les MAIN_RESULTAT ont les valeurs suivantes:
100: AFFICHAGE
101: ACQUITTEMENT
102: MISE EN DOSSIER
J'espère avoir été suffisamment clair.
J'ai essayé de cette façon:
Mais malheureusement cela créé automatiquement 3 tables supplémentaires au lieu de tout stocker dans ma table initiale...
Un grand merci d'avance pour votre aide.
Bonne journée,
Etienne
1) load distinct of all your main_ID s in a new_table:
new_table:
load distinct
main_id
resident MainCour;
2) 3 left joins on that new table;
left join(new_table)
load
main_id,
main_date_debut as DateAcquittement
resident MainCour
where MainResult = '101';
3) drop initial table
drop table MainCour;
left join(new_table)
load
main_id,
min(main_date_debut) as DateAcquittement
resident MainCour
where MainResult = '101'
group by main_id;
1) load distinct of all your main_ID s in a new_table:
new_table:
load distinct
main_id
resident MainCour;
2) 3 left joins on that new table;
left join(new_table)
load
main_id,
main_date_debut as DateAcquittement
resident MainCour
where MainResult = '101';
3) drop initial table
drop table MainCour;
Merci beaucoup cela fonctionne parfaitement!
Par contre cela m'a engendré une nouvelle complication.
Il s'avère que j'ai plusieurs valeurs pour DATE_AFFICHAGE, DATE_MISEENDOSSIER.
Comment pourrais-je garder uniquement la première valeur?
J'ai essayé avec firstvalue(), mais je suppose que je ne m'y prend pas correctement...
Merci encore! Et merci d'avance.
Etienne
left join(new_table)
load
main_id,
min(main_date_debut) as DateAcquittement
resident MainCour
where MainResult = '101'
group by main_id;
Merci beaucoup la solution fonctionne parfaitement!!
A très bientôt.
Etienne