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 :

Qlikview : réitération


Sujet :

QlikView

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 9
    Points
    9
    Par défaut Qlikview : réitération
    bonjour à toutes et tous,
    je dispose d'un fichier excel comportant un champ date, un champ heure, un champ client, et un champ produit.

    ma problématique est la suivante :
    -je cherche à savoir , sur le nombre de clients ayant réalisé 2 achats le même jour,
    le nombre de clients ayant acheté en 1er le produit A puis le produit B.

    je parviens à compter la réitération par client sans tenir compte du produit, mais je bloque sur ce point.
    pouvez vous m'éclairer svp?
    par avance merci
    vente.xlsx

  2. #2
    Modérateur

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

    Vous souhaitez obtenir l'information au niveau du chargement ou au niveau de la restitution Qlik ?


    Si vous voulez l'information au niveau du chargement :
    - On fait une table intermédiaire "heures" où on prend la plus petite heure d'achat de A (parce qu'il peut y en avoir plusieurs dans la même journée), groupé par client et par jour.
    - Sur cette même table intermédiaire, on ajout la plus grande heure d'achat de B (si le client achète B puis A puis B, ça prendra donc le dernier achat de B), toujours groupé par client et par jour.
    - On crée une nouvelle table "liste" qui va prendre toutes les lignes de la table intermédiaire "heures" pour lesquelles on a un heure d'achat de A, une heure d'achat de B et l'heure d'achat de A est inférieure à celle de B.
    - On supprime la table intermédiaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    data:
    LOAD DATE, 
         HEURE, 
         CLIENTS, 
         PRODUITS
    FROM
    [vente.xlsx]
    (ooxml, embedded labels, table is Feuil1);
     
     
    heures:
    LOAD
    	DATE,
    	CLIENTS,
    	min(HEURE) AS HEURE_A
    RESIDENT data
    WHERE PRODUITS = 'A'
    GROUP BY DATE, CLIENTS
    ;
     
    JOIN (heures)
    LOAD
    	DATE,
    	CLIENTS,
    	max(HEURE) AS HEURE_B
    RESIDENT data
    WHERE PRODUITS = 'B'
    GROUP BY DATE, CLIENTS
    ;
     
    liste:
    LOAD 
    	DATE AS liste.DATE,
    	CLIENTS AS liste.CLIENTS
    RESIDENT heures
    WHERE not IsNull(HEURE_A)
    AND not IsNull(HEURE_A)
    AND HEURE_A < HEURE_B;
     
    DROP TABLE heures;

    Si vous voulez les informations dans une représentation Qlik :
    On suppose que vous avez chargé les données avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    data:
    LOAD DATE, 
         HEURE, 
         CLIENTS, 
         PRODUITS
    FROM
    [vente.xlsx]
    (ooxml, embedded labels, table is Feuil1);

    Ajoutez un tableau droit, avec comme dimension "DATE" et comme expression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    =COUNT(DISTINCT 
    aggr(
    if(min({$ <PRODUITS={'A'}>} HEURE) < max({$ <PRODUITS={'B'}>} HEURE), CLIENTS)
    , CLIENTS, DATE)
    )
    Pour chaque couple "client / date", si l'heure du produit A est inférieure à l'heure du produit B, on sort le client. De cette agrégation, on compte le nombre de clients distincts.

Discussions similaires

  1. Quels sont vos retours d'expérience sur Qlikview ?
    Par Quadrature dans le forum QlikView
    Réponses: 27
    Dernier message: 04/06/2013, 20h15
  2. Réponses: 19
    Dernier message: 23/03/2009, 14h58
  3. [QlikView] Calcul cumul au chargement des données
    Par tonton93 dans le forum QlikView
    Réponses: 3
    Dernier message: 23/03/2009, 14h49
  4. [QLIKVIEW] Exporter en CSV
    Par lexius dans le forum QlikView
    Réponses: 1
    Dernier message: 16/07/2008, 16h17
  5. Un Forum QlikView
    Par chezleon dans le forum Contribuez
    Réponses: 2
    Dernier message: 20/01/2008, 16h46

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