Qlik Community

Groupe des Utilisateurs Francophones

Announcements
June 28, 10AM ET: Qlik Nation and Qlik Community present: CyberSleuth REGISTER TODAY
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Charger un fichier txt ayant 2 noms de colonnes identiques

Bonjour,

Je sollicite votre aide car après plusieurs essais et recherches je n'arrive toujours pas à toruver la solution !

Je charge un fichier txt qui contient 2 colonnes de même nom mais les données sont bien distinctes.

  • Lorsque je charge mon fichier et que je renomme les colonnes dans le script via un "as" et que je vérifie mes données ds la partie Designer je n'ai pas l'intégralité de mes données...J'ai l'impression que j'ai perdu des lignes en cours de route...

    

tmp_fait:

LOAD

[Code BU *] as Code_BU_collab,
[Practice *],
Collaborateur,
[Eff.Pot.Prod(ETP)],
[Code BU *] as Code_BU_job
FROM monfichier.txt

(txt, codepage is 1252, embedded labels, delimiter is '\t', no quotes)  

  • En revanche si je renomme directement une de mes colonnes dans le fichier txt, que je charge les données et que je vérifie ds le designer : alors là en  j'ai les bonnes données..

Bien évidemment je n'ai pas le droit de renommer mes colonnes dans le fichier source (je l'ai fait uniquement pour comprendre d'où pouvait provenir mon problème...)

On m'a brièvement dit d'essayer un truc du genre "Remove(Row, RowCnd(CellValue, 10, StrCnd(equal, ....) " mais je n'ai trouvé nulle part ds la doc et sur le web à quoi cela servait et comment le mettre en application...

Si quelqu'un ici pouvait m'aider je lui en serais très reconaissante !!

Merci pour vos retours,

1 Solution

Accepted Solutions
cje
Employee
Employee

Bonjour Maeva,

Ce qui se passe dans le premier cas, à savoir la perte d’une partie des données est normal. Vous ne pouvez pas avoir dans un fichier source 2 colonnes qui ont des noms identiques. Si tel est le cas, quand vous allez les charger en les renommant avec l’instruction AS, les données de la deuxième « version » de la colonne (dans votre exemple le Code_BU_job) vont venir écraser les données de la première version de la colonne. Le problème vient simplement du fait que vous avez utilisé l’option « Etiquettes incorporées » de l’assistant :

Dans votre cas, il ne faut pas utiliser cette option mais plutôt celles-ci :

Il faut donc considérer que le fichier n’a pas les entêtes de colonnes incorporés et que les données commencent à la ligne 2.

Ensuite, il faut renommer chaque colonne en allant taper le bon nom en lieu et place des @n :

Vous obtiendrez alors le code suivant dans le script :

LOAD @1 as Code_BU_Collaborateur,

@2 as Practice,

@3 as Collaborateur,

@4 as ETP,

@5 as Code_BU_Job

FROM

(txt, codepage is 1252, no labels, delimiter is '\t', msq, header is 1 lines);

Et là, les données seront correctement chargées.

Je joins l’appli QlikView à ce mail pour vous aider.

Cdt

Christophe Jouve

Pre-sales solutions consultant

Direct: +33 1 55 62 65 54

Mobile: +33 6 76 24 22 47

Email: Christophe.Jouve@qlik.com

QlikTech France

93 avenue Charles de Gaulle

92200 Neuilly sur Seine

qlik.com<http://www.qlik.com/>

18 octobre 2012 | De la Business Intelligence à la Business Discovery...

http://www.qlikview.fr/BDWT-Paris

The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.

View solution in original post

8 Replies
yvesqlik
Partner
Partner

peux tu envoyer un fichier exemple?

Not applicable
Author

Bonjour Yves.

Je ne peux pas mettre le fichier source (txt) en exemple car il s'agit de données "confidentielles" et ce serait bien trop long de le retoucher pour pouvoir le diffuser...

Je me doute que ce n'est pas facile pour vous sans fichier de m'aider... Du coup ce que j'aimerais savoir c'est si vous avez des pistes pour que je puisse résoudre mon problème et dans ce cas je creuserais vos pistes....

Par exemple, la fonction Remove est-elle une possibilité à tester? Et si oui, comment s'utilise t-elle ? je n'ai trouvé aucun détail à ce sujet sur le net...

Merci pour votre aide,

yvesqlik
Partner
Partner

Je ne peux savoir si la fonction remove vous est utile mais par contre je vous conseille en ouvrant votre fichier dans le script d'utiliser l'outil d'assistence (d'ouverture de fichier), dedans vous verez comment les colonnes et lignes sont lu par qlikview...

faites moi signe si ca marche...

rlp
Creator
Creator

Si vos colonnes sotn toujours dans la même ordre, vous pouvez y faire référence avec la syntaxe @1 , @2 , ...

Not applicable
Author

Le script qui est dans mon 1er message a été réalisé à l'aide de l'assitant... Toutes les colonnes sont là et l'apperçu des lignes est correct. Je ne sais pas pkoi mais j'ai l'impression qu'en revanche j'ai des lignes qui sont passées à la trappe. Est-ce possible ?

cje
Employee
Employee

Bonjour Maeva,

Ce qui se passe dans le premier cas, à savoir la perte d’une partie des données est normal. Vous ne pouvez pas avoir dans un fichier source 2 colonnes qui ont des noms identiques. Si tel est le cas, quand vous allez les charger en les renommant avec l’instruction AS, les données de la deuxième « version » de la colonne (dans votre exemple le Code_BU_job) vont venir écraser les données de la première version de la colonne. Le problème vient simplement du fait que vous avez utilisé l’option « Etiquettes incorporées » de l’assistant :

Dans votre cas, il ne faut pas utiliser cette option mais plutôt celles-ci :

Il faut donc considérer que le fichier n’a pas les entêtes de colonnes incorporés et que les données commencent à la ligne 2.

Ensuite, il faut renommer chaque colonne en allant taper le bon nom en lieu et place des @n :

Vous obtiendrez alors le code suivant dans le script :

LOAD @1 as Code_BU_Collaborateur,

@2 as Practice,

@3 as Collaborateur,

@4 as ETP,

@5 as Code_BU_Job

FROM

(txt, codepage is 1252, no labels, delimiter is '\t', msq, header is 1 lines);

Et là, les données seront correctement chargées.

Je joins l’appli QlikView à ce mail pour vous aider.

Cdt

Christophe Jouve

Pre-sales solutions consultant

Direct: +33 1 55 62 65 54

Mobile: +33 6 76 24 22 47

Email: Christophe.Jouve@qlik.com

QlikTech France

93 avenue Charles de Gaulle

92200 Neuilly sur Seine

qlik.com<http://www.qlik.com/>

18 octobre 2012 | De la Business Intelligence à la Business Discovery...

http://www.qlikview.fr/BDWT-Paris

The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.

Not applicable
Author

Bonjour Christophe,

Merci beaucoup pour ces explications très détaillées qui m'ont permis de solutionner mon problème !

Effectivement je ne savais pas que lorsque nous avions 2 colonnes identiques l'une écrasait l'autre...

Not applicable
Author

Merci pour la piste. Je n'y avais pas pensé et j'étais entrain d'essayer cette syntaxe lorsque j'ai eu la réponse de Christophe...