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 :

Charger un fichier excel contenant un tableau croisé non dynamique


Sujet :

QlikView

  1. #1
    Membre du Club
    Homme Profil pro
    Stagiaire en BO
    Inscrit en
    Septembre 2015
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Stagiaire en BO
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 81
    Points : 53
    Points
    53
    Par défaut Charger un fichier excel contenant un tableau croisé non dynamique
    Bonjour,

    Je veux charger un tableau croisé simple, c'est-à-dire non dynamique. (Venant de Excel 2010)

    de la forme:


    2014 2014 2015 2015
    article Previsions Reel Previsions Reel
    chaussure 2 3 4 6
    sac 3 3 8 9

    Les chiffres représentent des ventes.
    Et malheureusement dans le tutoriel que j'ai suivi on nous apprend à charger des tableaux croisés avec plusieurs colonnes mais pas avec des lignes contenant des dimensions, donc j'aimerais savoir comment charger un tel tableau.
    Dois-je le décroiser? Si oui, comment procéder pour le décroiser?

    Je ne maîtrise pas VBA donc j'ai un peu de mal avec les macro.
    Merci d'avance,
    Cordialement

  2. #2
    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,

    Il est vrai que le format n'est pas idéal, car il y a 2 informations qui sont liées à la même année.

    Néanmoins, en modifiant un tout petit peu le fichier et en bidouillant un peu, on finit par y arriver.




    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
    Table:
    CrossTable(Year, Value)
    LOAD article, 
         *
    FROM
    [Classeur1.xlsx]
    (ooxml, embedded labels, table is Feuil1)
    WHERE len(article) > 0;
     
     
    Resultat:
    LOAD
    	article,
    	num(left(Year, 4)) AS Year,
    	Value AS Previsions
    RESIDENT Table
    WHERE len(Year) = 4;
     
    CONCATENATE (Resultat)
    LOAD
    	article,
    	num(left(Year, 4)) AS Year,
    	Value AS Reel
    RESIDENT Table
    WHERE len(Year) = 5;
     
    DROP TABLE Table;
    Comme on a 2 champs qui s'appellent "2014", QV voit le 2em comme "20141".
    Ca permet de faire la différence entre ce qui est "reel" et "previsionnel", mais il faut penser à modifier l'année.



  3. #3
    Membre du Club
    Homme Profil pro
    Stagiaire en BO
    Inscrit en
    Septembre 2015
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Stagiaire en BO
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 81
    Points : 53
    Points
    53
    Par défaut
    Bonjour Bob merci pour ta réponse mais ne faudrait-il pas d'abord décroiser le tableau,
    pour que le tableau soit sous cette forme :

    Article Année Genre Ventes
    Chaussure 2014 Previsions 2
    Chaussure 2014 Reel 3
    Chaussure 2015 Previsions 4
    Chaussure 2015 Reel 6
    Sac 2014 Previsions 3
    Sac 2014 Reel 3
    Sac 2015 Previsions 8
    Sac 2015 Reel 9

    En fait je ne comprends pas en quoi l'année est un problème :

    car dans le tutoriel Qlikview (Version 11 pour Microsoft Windows) :
    On a un tableau avec plusieurs colonnes normales que vous trouverez ci-joint (dans mon exemple j'ai plusieurs lignes normales)

    Et on peut voir donc que la valeur A pour Salesman se répète comme la valeur 2014 pour l'année dans mon exemple.
    Or dans le tutoriel on a pu charger facilement le tableau.

    Cordialement.
    Images attachées Images attachées  

  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,

    Vous demandiez comment charger votre fichier et je vous ai donné une solution qui permet de charger vos données sans avoir besoin de décroiser votre source avant le chargement --> moins de travail pour vous.

    Si vous le souhaitez, oui, vous pouvez d'abord décroiser votre tableau avec Excel et faire un chargement "simple" dans QlikView.


    En fait je ne comprends pas en quoi l'année est un problème
    C'est parce que la même année est sur 2 colonnes, et que ça fait 2 colonnes qui semblent avoir le même nom.
    Ce n'est pas un problème bloquant : la preuve, le chargement fonctionne.

    Dans l'exemple donné dans le manuel, l'année est dans 1 seule colonne, donc forcément, il n'y a pas de problème !

  5. #5
    Membre du Club
    Homme Profil pro
    Stagiaire en BO
    Inscrit en
    Septembre 2015
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Stagiaire en BO
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 81
    Points : 53
    Points
    53
    Par défaut
    D'accord je comprends mieux, merci, mais quand vous dites qu'il faut "penser à modifier l'année" c'est à quel niveau ?


    J'ai essayé votre code en le plaçant au bon endroit et en mettant le bon nom (Classeur1), dans la feuille "Feuil1", j'ai des erreurs en rechargeant mon document qlikview, dois-je modifier mon fichier ou effectuer d'autres manips ?

    Ci-joint les erreurs que j'obtiens.

    Nom : erreur1.PNG
Affichages : 530
Taille : 59,3 Ko
    erreur1 : il ne trouve pas le champ article dans mon fichier excel, peut-être parce que le champ article n'est pas à la cellule A1 comme il l'attend normalement ?
    (J'ai essayé d'enlever la majuscule mais cela ne donne rien)

    Les autres erreurs viennent du fait que Table n'a pas été correctement initialisé.

    Encore merci,
    Cordialement
    Images attachées Images attachées    

  6. #6
    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
    Citation Envoyé par lovebo Voir le message
    D'accord je comprends mieux, merci, mais quand vous dites qu'il faut "penser à modifier l'année" c'est à quel niveau ?
    Ligne 22 dans le code que je vous ai donné : comme la 2em colonne "2015" et lue comme "20151", on fait un "left(Year, 4)" pour ne prendre que les 4 premiers caractères.


    Citation Envoyé par lovebo Voir le message
    J'ai essayé votre code en le plaçant au bon endroit et en mettant le bon nom (Classeur1), dans la feuille "Feuil1", j'ai des erreurs en rechargeant mon document qlikview, dois-je modifier mon fichier ou effectuer d'autres manips ?

    Ci-joint les erreurs que j'obtiens.

    Nom : erreur1.PNG
Affichages : 530
Taille : 59,3 Ko
    erreur1 : il ne trouve pas le champ article dans mon fichier excel, peut-être parce que le champ article n'est pas à la cellule A1 comme il l'attend normalement ?
    Effectivement, le script que je vous ai donné part du principe que les colonnes sont comme dans l'exemple (que j'ai mis en capture d'écran).

    Si vous voulez changer le format de la source, il faut obligatoirement modifier le script.
    A mon avis, essayez déjà de comprendre le principe du chargement "crosstable" avant de vouloir modifier le script.

  7. #7
    Membre du Club
    Homme Profil pro
    Stagiaire en BO
    Inscrit en
    Septembre 2015
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Stagiaire en BO
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 81
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par PhunkyBob Voir le message
    Ligne 22 dans le code que je vous ai donné : comme la 2em colonne "2015" et lue comme "20151", on fait un "left(Year, 4)" pour ne prendre que les 4 premiers caractères.
    Ah je comprends mieux en effet, et le num(...) permet de le réaffecter en valeur numérique.


    Citation Envoyé par PhunkyBob Voir le message
    Effectivement, le script que je vous ai donné part du principe que les colonnes sont comme dans l'exemple (que j'ai mis en capture d'écran).

    Si vous voulez changer le format de la source, il faut obligatoirement modifier le script.
    A mon avis, essayez déjà de comprendre le principe du chargement "crosstable" avant de vouloir modifier le script.

    Aah désolé, je ne voyais pas les images (elles étaient bloquées), je comprends mieux.
    Je pense avoir compris le principe du crosstable qui permet de charger comme un tableau croisé (via l'instruction load) et entre parenthèses on indique les noms des nouveaux champs (N’hésitez pas à me corrigez si je me trompe)

    - Si je décide de modifier mon tableau excel et de l'appliquer comme le votre (avec le nom "article" en cellule A1), et imaginons que dans mon tableau excel j'ai plus de colonnes de dimension (si en plus de l'article j'avais une catégorie dans lequel il pourrait y avoir des redondances), votre code (avec quelques modifications sans nul doute) pourrait-il s'appliquer à mon exemple ?
    Il est clair que je devrai également comme vous l'avez fait coller catégorie à la colonne article (donc en cellule B1 il y aura "Catégorie" et la liste des catégorie commencera en B3)

    - Si je décide de NE PAS modifier mon tableau excel comme vous et plutôt de modifier le script que vous m'avez donné, avec l'ajout d'une autre colonne en plus, est-ce que cela est relativement facile en partant de votre script ou dois-je totalement le modifier ? (Partons du principe que si vous n'arrivez pas à le faire, vu la différence de niveau entre vous et moi, je n'y arriverai pas non plus)


    Encore merci pour vos réponses,
    Cordialement

  8. #8
    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
    S'il n'y a pas 1, mais plusieurs colonnes avant la partie "croisée", ce n'est pas un problème, il suffit de préciser le nombre de colonnes qui sont avant la partie croisée.
    Si on ne met pas le paramètre (comme dans mon exemple), c'est qu'il n'y a qu'1 colonne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CrossTable(Year, Value)
    LOAD article, 
         *
    FROM
    ...
    S'il y a 2 colonnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CrossTable(Year, Value, 2)
    LOAD 
        article, 
        categorie,
         *
    FROM
    etc...

  9. #9
    Membre du Club
    Homme Profil pro
    Stagiaire en BO
    Inscrit en
    Septembre 2015
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Stagiaire en BO
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 81
    Points : 53
    Points
    53
    Par défaut
    D'accord merci, c'est vrai qu'en + on a un exemple dans le tutoriel de Qlikview avec plusieurs colonnes avant la partie croisée.

    Mais (pour corser un peu plus mon problème) j'ai en plus de cela, non pas seulement plusieurs colonnes de dimension avant la partie croisée mais plusieurs valeurs répétées dans les lignes de dimension (pas seulement 2) :

    J'ai vu que dans votre code vous avez utilisé le fait que l'année ne se répétait que 2 fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    WHERE len(Year) = 4;
    ...
    WHERE len(Year) = 5;
    Mais si l'année se répétait plus de fois, j'utiliserai votre méthode mais en prenant plutôt le dernier chiffre après l'année pour les différencier n'est-ce pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    WHERE lastcarac(Year)= 1;
    ...
    WHERE lastcarac(Year)= 2;
    ...
    WHERE lastcarac(Year)= 3;
    Si c'est le bon moyen, pouvez-vous me dire par quel moyen je peux obtenir le dernier caractère d'une chaine de caractères ?


    Même en cherchant sur Google, il y a 2 notions dans votre code que je ne comprends pas très bien :
    - Celle de "Resident Table"
    - Et celle de "CONCATENATE (Resultat)"

    Pouvez-vous m'expliquer à quoi servent ces méthodes dans notre exemple actuel ?

    Encore merci,
    Cordialement

  10. #10
    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
    Citation Envoyé par lovebo Voir le message
    Mais si l'année se répétait plus de fois, j'utiliserai votre méthode mais en prenant plutôt le dernier chiffre après l'année pour les différencier n'est-ce pas ?
    Oui.
    Sauf pour la première valeur qui contiendrait la vraie valeur.


    Citation Envoyé par lovebo Voir le message
    Si c'est le bon moyen, pouvez-vous me dire par quel moyen je peux obtenir le dernier caractère d'une chaine de caractères ?
    retourne "e".




    Citation Envoyé par lovebo Voir le message
    - Celle de "Resident Table"
    Dans QlikView, on peut charger les tables de (en gros) 4 façons :
    - LOAD FROM qui va charger les données depuis un fichier (Excel, CSV, ...).
    - SQL SELECT qui va charger les données depuis une base de données.
    - LOAD AUTOGENERATE qui va générer lui même des lignes.
    - LOAD RESIDENT qui va charger des données depuis une table qui a déjà été chargée précédemment dans le script (une table "résidente").


    Dans mon exemple, je charge le résultat du décroisage du fichier dans une table "Table".
    Ensuite, je fais un chargement depuis cette table "Table".


    Citation Envoyé par lovebo Voir le message
    - Et celle de "CONCATENATE (Resultat)"
    CONCATENATE permet de concaténer le résultat d'un LOAD dans une table déjà existante.
    J'ai créé une table "Résultat" dans lequel j'ai mis les données de type "prévisions". Ensuite, je veux continuer à remplir cette table avec les données de type "réel".
    Je mets donc "CONCATENATE (Resultat)" pour lui dire "le résultat du chargement sera mis dans la table "Résultat" à la suite de ce qui a déjà été chargé.

  11. #11
    Membre du Club
    Homme Profil pro
    Stagiaire en BO
    Inscrit en
    Septembre 2015
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Stagiaire en BO
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 81
    Points : 53
    Points
    53
    Par défaut
    Très bien merci encore pour ces explications.


    Et juste pour ma culture :

    - Dans notre cas présent comme les 2 tables que nous voulons concaténer se suivent, peut-on retirer l'indication (Resultat) et mettre simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Concatenate
    Load
          article,
          ...
    - Dans le premier Load, celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Table:
    CrossTable(Year, Value)
    LOAD article, 
         *
    FROM
    [Classeur1.xlsx]
    (ooxml, embedded labels, table is Feuil1)
    WHERE len(article) > 0;
    Est-on obligé de laisser article ou pouvons-nous directement mettre "Load *" ?
    Je ne comprends pas l'intérêt de le mettre en fait.

    Encore merci pour vos explications,
    Cordialement

  12. #12
    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
    Citation Envoyé par lovebo Voir le message
    - Dans notre cas présent comme les 2 tables que nous voulons concaténer se suivent, peut-on retirer l'indication (Resultat) et mettre simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Concatenate
    Load
          article,
          ...
    Oui, on peut.

    J'ai pour habitude de toujours préciser à quelle table je concatène / dans quelle table je fais ma jointure, pour plus de lisibilité.

    En plus, si par hasard je déplace mon code, il restera valide.



    Citation Envoyé par lovebo Voir le message
    - Dans le premier Load, celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Table:
    CrossTable(Year, Value)
    LOAD article, 
         *
    FROM
    [Classeur1.xlsx]
    (ooxml, embedded labels, table is Feuil1)
    WHERE len(article) > 0;
    Est-on obligé de laisser article ou pouvons-nous directement mettre "Load *" ?
    Je ne comprends pas l'intérêt de le mettre en fait.
    Un "LOAD *" suffit.
    Par défaut, le wizard affiche toutes les colonnes.

    Encore une fois, c'est par habitude que je remplace les colonnes de la partie croisée par un "*" au cas où le nombre de valeurs soit variable.

    J'évite de faire des "LOAD *" car j'aime bien savoir ce que je charge.

  13. #13
    Membre du Club
    Homme Profil pro
    Stagiaire en BO
    Inscrit en
    Septembre 2015
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Stagiaire en BO
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 81
    Points : 53
    Points
    53
    Par défaut
    D'accord je comprends mieux, merci pour ces précisions.

    J'aurai une question à propos d'un tableau croisé que je veux charger, celui-ci contient cette fois-ci plus de lignes de dimension :

    2014 2014 2015 2015
    Jan Juin Fev Jui
    Article Prévisions Reel Previsions Réel
    chaussure 2 3 4 6
    sac 3 3 8 9

    Si je veux récupérer l'information sur les mois, dois-je le faire en "dur", j'ai pensé à cette méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ...
    Resultat:			
    LOAD				
    	article,		
    	num(left(Year, 4)) AS Year,
    	Value AS Previsions,
            'Jan' as Month
    RESIDENT Table			
    WHERE right(Year,2) = 14;
    ...
    Et répéter l'opération pour chaque colonne


    Est-ce une bonne méthode ?

    Si non, comment obtenir l'information autrement ?

  14. #14
    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
    Faire autant de chargements qu'il y a de colonnes n'est à mon avis pas une bonne idée.

    Le mieux serait d'avoir directement l'année et le mois dans la même cellule.

  15. #15
    Membre du Club
    Homme Profil pro
    Stagiaire en BO
    Inscrit en
    Septembre 2015
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Stagiaire en BO
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 81
    Points : 53
    Points
    53
    Par défaut
    En effet ce serait le mieux mais en vérité il y a d'autres lignes que le mois et l'année, cet exemple est simplifié encore une fois, je dois faire avec plusieurs lignes de dimension.

    Donc j'ai le choix entre faire colonne par colonne (traiter un chargement par colonne)

    ou

    J'ai pensé à retirer des lignes de dimension pour en laisser 2 au maximum à la fois, exemple ici : ne traiter qu'une année à la fois, dans mon cas je ne traiterai que l'année 2014 donc je pourrai l'enlever la ligne de dimension pour les années, ce qui simplifiera mon tableau mais une fois l'année 2014 traité il faudra rajouter l'information 2014 dans mes tables (au pire en dur) pour ensuite passer à l'année 2015.

    Est-ce possible ?

    Ou avez-vous d'autres idées pour charger un tableau croisé avec plusieurs lignes de dimension ?


    J'aurai également une question, pourquoi lorsque je fais ce chargement là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Table:
    CrossTable(Year, Value)		
    LOAD article,				 
         *
    FROM
    [Classeur1.xlsx]		
    (ooxml, embedded labels, table is Feuil1)
    WHERE len(article) > 0;
    sur la table suivante :

    Article 2014 2014 2015 2015
    Prévisions Reel Previsions Réel
    chaussure 2 3 4 6
    sac 3 3 8 9

    Dans le champ Value : 'sac' et 'chaussure' apparaissent.
    L'indication CrossTable(Year, Value) ne contraint pas le chargement à ajouter les valeurs dans le champ Value à partir de la partie croisée ? C'est à dire seulement les valeurs numériques dans notre cas et non pas la 1ère colonne qui est avant la partie croisée.

    Encore merci pour votre aide,
    Cordialement

  16. #16
    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
    Citation Envoyé par lovebo Voir le message
    Dans le champ Value : 'sac' et 'chaussure' apparaissent.
    Effectivement.
    Il ne faut pas préciser "Article" dans la liste des champs.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CrossTable(Year, Value)
    LOAD 
         *
    FROM
    Classeur1.xlsx
    (ooxml, embedded labels, table is Feuil1)
    WHERE len(Article) > 0;

  17. #17
    Membre du Club
    Homme Profil pro
    Stagiaire en BO
    Inscrit en
    Septembre 2015
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Stagiaire en BO
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 81
    Points : 53
    Points
    53
    Par défaut
    Bonjour Bob,

    D'accord merci.




    Et en ce qui concerne mon problème de tableaux croisé à plusieurs lignes de dimension, avez-vous une idée ?
    Car actuellement j'ai réussi à charger mes données mais en traitant colonne par colonne et je ne sais pas si c'est un bonne solution ou s'il en existe une meilleure.

    Citation Envoyé par lovebo Voir le message
    En effet ce serait le mieux mais en vérité il y a d'autres lignes que le mois et l'année, cet exemple est simplifié encore une fois, je dois faire avec plusieurs lignes de dimension.

    Donc j'ai le choix entre faire colonne par colonne (traiter un chargement par colonne)

    ou

    J'ai pensé à retirer des lignes de dimension pour en laisser 2 au maximum à la fois, exemple ici : ne traiter qu'une année à la fois, dans mon cas je ne traiterai que l'année 2014 donc je pourrai l'enlever la ligne de dimension pour les années, ce qui simplifiera mon tableau mais une fois l'année 2014 traité il faudra rajouter l'information 2014 dans mes tables (au pire en dur) pour ensuite passer à l'année 2015.

    Est-ce possible ?

    Ou avez-vous d'autres idées pour charger un tableau croisé avec plusieurs lignes de dimension ?
    Encore merci pour votre aide,
    Cordialement

  18. #18
    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
    C'est un problème plus complexe qui nécessite réflexion (surtout s'il n'est pas possible de changer le format du fichier).

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/02/2010, 09h42
  2. Réponses: 2
    Dernier message: 01/07/2008, 15h54
  3. Réponses: 6
    Dernier message: 21/05/2007, 09h56
  4. Charger un fichier texte contenant des caractères
    Par dm_manu dans le forum MATLAB
    Réponses: 5
    Dernier message: 24/12/2006, 02h37

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