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

WinDev Discussion :

Tableau croisé avec une table en entrée est ce possible ? [WD15]


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Points : 23
    Points
    23
    Par défaut Tableau croisé avec une table en entrée est ce possible ?
    Bonjour,

    Je suis nouveau sur le forum et à windev aussi, que je découvre. J'ai cherchée ma réponse sur le forum mais j'ai pas trouvé grand chose, merci de m'en excuser si la question a déja été posée.
    Voila j'essai de faire un programme qui gère de petites statistiques d'un support utilisateur, qui reçois des requêtes de type, "Technique","Metier","Demande"...J'ai récupéré ces données d'un fichier excel qui m'a été fourni et que j'ai importé sous windev, donc je me retrouve avec un seul fichier qui contient toutes les données (numero de incident, Heure d'appel, heure de la réponse etc...). J'aimerai tout simplement sortir des stats par type de demande par exemple, comme sur l'image jointe. Sortir ce type de tableau necessite la gestion de tableaux croisés, donc au moins deux tables (fichiers) différentes si je ne me trompe ? Hors je n'ai qu'un fichier... Y a til un moyen d'arriver à mes fins à partir de ce seul fichier ? Si oui comment ? On peut aussi envisager que je peux sortir ce tableau sous forme d'état ou autre... Si vous avez besoin de plus de précisions ne pas hésiter à me demander, j'espère avoir été un peu clair.

    Bonne journée
    Images attachées Images attachées  

  2. #2
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello, c'est tout a fait possible de réqliser un tableau croisé comme tu le souhaite.
    Il suffit simplement de parcourir le fichier principal et de faire ainsi
    Il faut partir du postulat que les colonnes de ton tableau sont immuables (pas d'ajout, pas de suppresison).
    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
    42
    43
    44
    45
    46
     
    // variables locales
    Chaine_Rupture est une chaine = ""
     
    hpremier(FStats, Criticite)
    si htrouve(FStats) alors
        // ok, un enreg au moins, alors on amorce le parcours
        // et on monte le premier enreg
        hlitpremier(FStats, Criticite, hblocagenon)
        tantque htrouve(FStats)
            // ok, on met dans le tableau
            si Chaine_Rupture <> FStats.Criticité alors
                // on ajoute un eligne dans le tableau
                tableajouteligne(Tableau_FStats,....)
                 // selectionne la ligne
                 tableselectplus(Table_FStats, tableoccurrence(Table_FStats)
            // fin de l'insertion d'une ligne
            fin
             // on regarde maintenant les colonnes
             selon FStats.NATURE_DEMANDE
                 cas "DEMANDE"
                      // on met dans la premier colonne
                      Table_Fstat.COLONNE1 += 1
     
                 cas "METIER"
                      // on met dans la premier colonne
                      Table_Fstat.COLONNE2 += 1
     
                 cas "TECHNIQUE"
                      // on met dans la premier colonne
                      Table_Fstat.COLONNE3 += 1
            // fin du selon
            FIN
            // on fait le total de la ligne
            Table_FStats.TotalLigne = table_FStats.COLONNE1+table_FStats.COLONNE2+table_FStats.COLONNE3
            // lecture enreg suivant
            HlitSuivant(FTats)
        // fin du tantque htrouve(FStats)
        fin
    // pour les totaux des colonnes, mettre somme dans chaque colonne afinn que cela se calcul automatiquement
     
    sinon
        // pas d'enreg dans le fichier
        info("Pas d'enregistrement dans le fichier
    // fin du si htrouve(FStats)
    fin
    A quelque chose pret, cela devrait fonctionner dans la philosophie.
    amicalement

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par EDM-TAHITI Voir le message
    Hello, c'est tout a fait possible de réqliser un tableau croisé comme tu le souhaite.
    Il suffit simplement de parcourir le fichier principal et de faire ainsi
    Il faut partir du postulat que les colonnes de ton tableau sont immuables (pas d'ajout, pas de suppresison).
    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
    42
    43
    44
    45
    46
     
    // variables locales
    Chaine_Rupture est une chaine = ""
     
    hpremier(FStats, Criticite)
    si htrouve(FStats) alors
        // ok, un enreg au moins, alors on amorce le parcours
        // et on monte le premier enreg
        hlitpremier(FStats, Criticite, hblocagenon)
        tantque htrouve(FStats)
            // ok, on met dans le tableau
            si Chaine_Rupture <> FStats.Criticité alors
                // on ajoute un eligne dans le tableau
                tableajouteligne(Tableau_FStats,....)
                 // selectionne la ligne
                 tableselectplus(Table_FStats, tableoccurrence(Table_FStats)
            // fin de l'insertion d'une ligne
            fin
             // on regarde maintenant les colonnes
             selon FStats.NATURE_DEMANDE
                 cas "DEMANDE"
                      // on met dans la premier colonne
                      Table_Fstat.COLONNE1 += 1
     
                 cas "METIER"
                      // on met dans la premier colonne
                      Table_Fstat.COLONNE2 += 1
     
                 cas "TECHNIQUE"
                      // on met dans la premier colonne
                      Table_Fstat.COLONNE3 += 1
            // fin du selon
            FIN
            // on fait le total de la ligne
            Table_FStats.TotalLigne = table_FStats.COLONNE1+table_FStats.COLONNE2+table_FStats.COLONNE3
            // lecture enreg suivant
            HlitSuivant(FTats)
        // fin du tantque htrouve(FStats)
        fin
    // pour les totaux des colonnes, mettre somme dans chaque colonne afinn que cela se calcul automatiquement
     
    sinon
        // pas d'enreg dans le fichier
        info("Pas d'enregistrement dans le fichier
    // fin du si htrouve(FStats)
    fin
    A quelque chose pret, cela devrait fonctionner dans la philosophie.
    amicalement
    Merci je vais essayer ça, je te tiens au courant.

    Très amicalement

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/06/2015, 14h48
  2. [AC-2007] lenteur tableau croisé d'une requête avec fonction vba que faire ?
    Par rogerfon dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/07/2012, 21h42
  3. indexation d'un tableau avec une table de hachage
    Par mamax29 dans le forum Langage
    Réponses: 6
    Dernier message: 18/05/2011, 09h23
  4. JOIN avec une table qui est dans une AUTRE base access
    Par bastringue dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 30/05/2008, 14h41
  5. Un tableau dans une table access, c'est possible ?
    Par mosquitout dans le forum Access
    Réponses: 6
    Dernier message: 05/04/2006, 13h04

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