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 :

Précalcul d'indicateurs dans le script


Sujet :

QlikView

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 100
    Points : 66
    Points
    66
    Par défaut Précalcul d'indicateurs dans le script
    Bonjour à tous,

    J'ai récemment développé une application Qlikview qui s'est peu à peu transformé en une véritable "usine à gaz".
    Je souhaite donc la refondre et précalculer un certain nombre d'indicateurs directement dans le script, afin d'améliorer sa maintenabilité (et pourquoi pas d'améliorer ses performances à l'affichage).

    Donc pour l'instant, j'ai une table "Indicateurs" du type :
    - Champ n°1 : CODE_CENTREPROFIT
    - Champ n°2 : CODE_AFFAIRE
    - Champ n°3 : PERIODE
    - Champ n°4 : CODE_LIGNE
    - Champ n°5 : MONTANT

    Dans l'application actuelle, j'utilise dans les différents tableaux (très nombreux) des expressions du type :
    - Indicateur1 =Sum({$<CODE_LIGNE={'aaa','bbb','ccc'}>}MONTANT)
    - Indicateur2 =Sum({$<CODE_LIGNE={'xxx','yyy','zzz'}>}MONTANT)
    - Indicateur3 ="Indicateur1"/"Indicateur2"
    etc.

    Je souhaite donc effectuer ces calculs directement dans le script. J'ai donc renommé ma table "Indicateurs" en "Indicateurs_temp", puis je fais :
    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
    Indicateurs_temp2 :
    LOAD
    "CODE_CENTREPROFIT",
    "CODE_AFFAIRE",
    "PERIODE",
    Sum(If(Match("CODE_LIGNE",'aaa','bbb','ccc')>0,"MONTANT")) as "Indicateur1",
    Sum(If(Match("CODE_LIGNE",'xxx','yyy','zzz')>0,"MONTANT")) as "Indicateur2"
    RESIDENT Indicateurs_temp
    GROUP BY "CODE_CENTREPROFIT","CODE_AFFAIRE","PERIODE";
     
    Indicateurs :
    LOAD
    "CODE_CENTREPROFIT",
    "CODE_AFFAIRE",
    "PERIODE",
    "Indicateur1",
    "Indicateur2",
    "Indicateur1"/"Indicateur2" as "Indicateur3"
    RESIDENT Indicateurs_temp2;
     
    DROP TABLE Indicateurs_temp;
    DROP TABLE Indicateurs_temp2;
    L'ennui c'est que j'obtiens une table où toutes les lignes sont dupliquées pour l'indicateur1 (avec une colonne "Indicateur2" ne contenant que des 0) et vice-versa.
    Je ne peux donc pas calculer l'indicateur3...

    Auriez-vous une solution à ce pb?

    Merci d'avance pour vos réponses.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 100
    Points : 66
    Points
    66
    Par défaut
    Bon...

    Nul besoin de répondre, c'est un craquage intégral de ma part.

    J'avais des sélections actives dans mon fichier de test, qui m'empêchaient de visualiser l'intégralité des données.

    En fait, ça à l'air de fonctionner...

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

Discussions similaires

  1. Précalcul dans un script
    Par pitroc dans le forum QlikView
    Réponses: 2
    Dernier message: 18/06/2013, 15h33
  2. Requête POST dans un script bash
    Par desperado dans le forum Linux
    Réponses: 4
    Dernier message: 11/12/2007, 22h38
  3. Problème de date dans un script
    Par silef dans le forum Linux
    Réponses: 2
    Dernier message: 16/11/2004, 18h10
  4. [Apache] Erreur dans mes scripts CGI
    Par GLDavid dans le forum Apache
    Réponses: 2
    Dernier message: 28/08/2004, 06h14
  5. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum Développement
    Réponses: 4
    Dernier message: 19/07/2004, 16h07

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