IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

QlikView Discussion :

Plusieurs id personne dans un même table


Sujet :

QlikView

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 221
    Points : 88
    Points
    88
    Par défaut Plusieurs id personne dans un même table
    Bonjour,

    J'ai chargé une table USER avec un idUser.

    Je voudrais chargé une table TICKET avec l'id du user qui a créé le ticket et l'id du User qui a fermé le ticket.

    J'ai mis dans un premier temps uniquement idUser pour celui qui a créé le ticket ce qui à permis à Qlik de faire le lien entre USER et TICKET.

    Comment faire pour ajouter l'id du User qui fermé le ticket pour qu'il fasse le lien (je ne peux pas appeler cette colonne IdUser) ?

    Merci pour votre aide

  2. #2
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Bonjour,

    il faut

    soit dupliquer la table User pour avoir 2 tables : "User qui a ouvert le ticket" et "User qui a fermé le ticket", et évidemment renommer les champs pour que le modèle n'ait ni clé synthétique, ni boucle, ni table non liée

    soit utiliser une modélisation en rôles, mais si vous débutez ça va être compliqué de vous le faire comprendre ET de vous le faire développer

    soit laisser la table User non liée au modèle (donc ne pas utiliser le nom UserId pour un champ de la table des tickets) et faire des set analysis pour qu'en sélectionnant 1 user, on puisse voir selon les cas les tickets créés par ce User ou les tickets fermés par ce User

    soit un mélange de la 1ere et la 3e solution avec des If dans les expressions
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  3. #3
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 221
    Points : 88
    Points
    88
    Par défaut
    Bonjour,

    Merci pour la réponse.
    Après quelques recherche, je pense que la solution des tables creuses pourrait répondre à mon besoin (http://yves.ducourneau.perso.sfr.fr/...on-etoile.html)

    En effet, j'ai une table de fait sur les tickets qui reprend les étapes d'un ticket, "Création", "Clôture".
    Lors de la création d'un ticket, le IdUser dans la table de fait serait le créateur et lors de la clôture l'IdUser serait la personne qui a clôturé le ticket.

  4. #4
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Si l'objectif est de récupérer le nom de l'utilisateur, je vous conseille de faire 2 jointures LEFT pour enrichir votre table de fait avec les noms des "user qui crée" et "user qui ferme".

    Grâce au modèle vectoriel de QlikView, ce n'est pas une perte de place (contrairement à une base relationnelle traditionnelle).

  5. #5
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Citation Envoyé par thorgal1612 Voir le message
    Bonjour,

    Merci pour la réponse.
    Après quelques recherche, je pense que la solution des tables creuses pourrait répondre à mon besoin (http://yves.ducourneau.perso.sfr.fr/...on-etoile.html)

    En effet, j'ai une table de fait sur les tickets qui reprend les étapes d'un ticket, "Création", "Clôture".
    Lors de la création d'un ticket, le IdUser dans la table de fait serait le créateur et lors de la clôture l'IdUser serait la personne qui a clôturé le ticket.
    Bonne nouvelle, ça fera la même chose que la solution 2 (les rôles) mais avec moins de transformation pour vous. Il suffit donc de nommer "UserId" le nom de l'utilisateur dans le fait "Ouverture" et dans le fait "fermeture". Au final la table de faits sera une concaténation des 2 faits et UserId sera le seul champ pour toute la table.

    Le petit défaut c'est que ça ne permet pas de faire en 1 seul clic : "visualisation du délai de traitement des tickets ouverts par utilisateur X". Il faut d'abord sélectionner l'utilisateur X, puis sélectionner le type de fait "Ouverture" puis sélectionner les tickets possibles (select possible) puis ENLEVER des filtres le type de fait "Ouverture" et l'utilisateur X. Et là une mesure comme "Durée de traitement" sera calculée sur "les tickets ouverts par X". Bon il y a toujours la possibilité de travailler le modèle pour que ce soit plus direct, c'était juste pour être complet.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  6. #6
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 221
    Points : 88
    Points
    88
    Par défaut
    Très bonne remarque pour le temps de traitement par utilisateur. Je vais réfléchir au sujet mais pour l'instant je ne vois comment je peux le traiter sans faire toutes ces manipulations

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/11/2008, 00h13
  2. Réponses: 1
    Dernier message: 01/05/2008, 08h26
  3. Réponses: 4
    Dernier message: 21/11/2007, 12h19
  4. [MySQL] Conversion de plusieurs dates dans une même table MySQL
    Par laetiheu dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/08/2007, 09h49
  5. [Requête] plusieurs champs dans une même table ayants la même source
    Par Christophe93250 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 25/04/2006, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo