Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
J'ai deux tables Tickets et Taches qui sont reliées par le [Numéro de tickets]
Tickets:
LOAD [Numéro de tickets], [Créateur du ticket]
FROM xxx;
Taches:
LOAD [Numéro de tickets], [Créateur de la tâche]
FROM yyy;
Les deux champs de créateurs sont les mêmes utilisateurs mais je ne peux pas les relier.
Comme tous les utilisateurs de mon appli ne créent pas forcément de tickets ou de tâches, j'aimerais avoir une table avec tous les utilisateurs et lorsque je clique sur un utilisateur, qu'il me filtre les taches créées et les tickets créés par celui-ci.
Le problème c'est que si je clique sur un [Créateur du ticket] il me filtre les tâches créées par tous les utilisateurs pour les tickets concernés. Et vice-versa
J'espère que je suis clair et que quelque'un pourra m'aider
Merci
MS
le lien entre les 2 tables est le numéro de ticket ?
à un ticket correspond une ou plusieurs taches ?
y a t-il un numéro de tache ?
Salut,
Ce que tu veux faire ne fonctionnera pas.
tu as une association de base entre la tâche et le ticket, et tu veux que quand on sélectionne un individu, QlikView ne considère non plus cette relation tâche-ticket; mais considère en priorité les relations utilisateur-tâche + utilisateur-ticket.
Dans le pire des cas; tu peux peut-être faire une gestion avec une table utilisateur déconnectée et des Set Analysis. A voir en fonction du design de ton application, mais ça ne me semble pas être une super idée. Je resterais sur 2 listes séparées perso.
ou en faisant une table d'utilisateur :
utilisateur:
LOAD Distinct createurTicket as utilisateur
,createurTicket
Resident tickets;
LOAD Distinct createurTache as utilisateur
Resident taches;
Merci de ta réponse.
le lien entre les 2 tables est le numéro de ticket ? => OUI
à un ticket correspond une ou plusieurs taches ? => OUI
y a t-il un numéro de tache ? => OUI, unique
J'ai essayé de faire comme toi une table d'utilisateurs mais je ne savais pas quoi mettre dedans.
Quand je copie ton code, il me créer une table "taches-1" en plus de "taches". Est-ce normal ?
Avec ta solution, si je clique sur MICHEL, il va m'afficher le TI025 mais va-t-il m'afficher la TA280 ou bien les TA200 et TA260 ?
PS : J'ai vu que TA280 apparaît 2 fois pour deux tickets différents ce qui n'est pas possible dans mon modèle.
Yann COURTET a écrit:
[...] Je resterais sur 2 listes séparées perso.
Salut,
De quelles listes parles-tu ?
Faut-il que je supprime le lien tâches-ticket ?
et comme çà ?
tickets:
LOAD * INLINE [
numticket,createurTicket,dateticket
TI010,ALBERT,20141218
TI020,RENE,20141219
TI025,MICHEL,20141218
TI030,RAOUL,20141217
TI040,ALBERT,20141218
TI045,TOTO,20141220
TI045,PAUL,20141231
TI050,RENE,20141220
];
taches:
LOAD * INLINE [
numtache,numticket, createurTache,importancetache
TA200,TI025,PAUL,haute
TA210,TI010,RAOUL,basse
TA250,TI020,MARCEL,moyenne
TA260,TI025,ROBERT,basse
TA265,TI050,TITI, haute
TA265,TI030,ALBERT,haute
TA280,TI045,SUZANNE,basse
TA280,TI050,MICHEL,haute
];
utilisateur:
LOAD Distinct createurTicket as utilisateur
,createurTicket
Resident tickets;
LOAD Distinct createurTache as utilisateur
// ,createurTache
Resident taches;
C'est bien ce que j'ai.
Mais il ajoute une table "taches-1".
Et ça ne résout pas mon problème. A savoir que si je clique sur MICHEL je veux la liste des tickets qu'il a créé et la liste des tâches qu'il a créées (tous tickets confondus).
et comme çà ?
une piste peut être, c'est une question de relation
//
tickets:
LOAD * INLINE [
numticket,utilisateur,dateticket
TI010,ALBERT,20141218
TI020,RENE,20141219
TI025,MICHEL,20141218
TI030,RAOUL,20141217
TI040,ALBERT,20141218
TI045,TOTO,20141220
TI045,PAUL,20141231
TI050,RENE,20141220
];
taches:
LOAD * INLINE [
numtache,numticket, utilisateur,importancetache
TA200,TI025,PAUL,haute
TA210,TI010,RAOUL,basse
TA250,TI020,MARCEL,moyenne
TA260,TI025,ROBERT,basse
TA265,TI050,TITI, haute
TA265,TI030,ALBERT,haute
TA280,TI045,SUZANNE,basse
TA280,TI050,MICHEL,haute
];
//utilisateur:
//LOAD Distinct createurTicket as utilisateur
// ,createurTicket
// Resident tickets;
//
//LOAD Distinct createurTache as utilisateur
// // ,createurTache
// Resident taches;
Je t'invites à bien réfléchir sur ce que doit faire ton application et comment elle doit réagir.
Ce que tu essaies de faire n'est pas naturel, donc tu vas avoir des problèmes quand on te demandera de la faire évoluer.
Si tu cliques sur MICHEL, on veut voir les tâches et les tickets créés par lui.
Mais, pour une tâche créée par lui, veut-on voir le ticket qui lui est rattaché ? et les autres tâches de ce ticket ?
Pour un ticket créé par lui, veut-on voir les tâches qui en dépendent ?
En l'état, voici ce qui me semble le plus proche de ce que tu souhaites et qui aura ce comportement :
- si une tâche est crée par lui, on voit le ticket dont il dépend, mais pas les autres tâches de ce ticket (sinon, il faut lier la nouvelle table userTable au ticket et non pas aux taches)
- si un ticket est créé par lui, on voit toutes les tâches qui en dépendent.
tickets:
LOAD * INLINE ***
taches:
LOAD * INLINE ***
(cf post luc Derosne 29/12 13h45 pour les 2 tables au dessus)
Et tu ajoutes celà :
left join(taches) load numticket, createurTicket resident tickets;
userTable:
LOAD distinct numtache, createurTache as user resident taches;
LOAD distinct numtache, createurTicket as user resident taches;
drop field createurTicket from taches;