Qlik Community

Groupe des Utilisateurs Francophones

Vous êtes francophone? Ce groupe est pour vous. Venez découvrir comment démarrer avec Qlik Sense et QlikView, poser vos questions et partager vos tutos et astuces avec les membres de notre communauté.

Highlighted
bckaps69
New Contributor

Problème d'interprétation des données

Bonjour,

J'importe d'un fichier QVD une liste de machine mais Qlikview interprète mal et rajoute un 0 à gauche

Données (code machine)     Interprétation QV

0100                                   0100

0200                                   0200

0300                                   0300

0402                                   0402

402                                     0402 (il rajoute un 0)

0500                                   0500

J'ai essayé une fonction Text() sans succès.

Avez-vous une solution à mon problème ?

Merci d'avance

Tags (1)
11 Replies
kevinchevrier
Contributor III

Re: Problème d'interprétation des données

num()

kevinchevrier
Contributor III

Re: Problème d'interprétation des données

If(len(Données)>3, Données, num(Données)) as DONNEES_TRANSFORMEES

Kevin

lcloatre
Contributor III

Re: Problème d'interprétation des données

Je suis surpris que ta fonction text ne fonctionne pas.

Attention, tu as 0402 et 402.

bckaps69
New Contributor

Re: Problème d'interprétation des données

La fonction LEN renvoie 4 pour les deux !!!

La fonction TEXT renvoie 0402 pour les deux.

Je pense que le problème vient de la constitution du QVD

kevinchevrier
Contributor III

Re: Problème d'interprétation des données

Pourquoi ne pas faire tes formules dans le script qui permet de créer le QVD ? C'est à dire en amont.

En effet, si l'erreur est déjà présente dans le QVD, c'est les formules avant qu'il faut modifier.

Kevin

lcloatre
Contributor III

Re: Problème d'interprétation des données

Julien,

Si tu ne l'as pas déjà, je t'encourage à utiliser Q-Eye, un outil très pratique pour consulter des QVD/QVX pour visualiser tes QVD.

bckaps69
New Contributor

Re: Problème d'interprétation des données

Je viens de regarder avec l'outil Q-Eye, le problème est bien au niveau du QVD.

Mais je ne vois pas ce qui cloche dans mon code :

SET vRefTablesChamps = $(vParamFolder)REF_EXTRACT_CO.xlsx;

SET vCodeSite = CO;

Tables_A_Extraire:

LOAD TABLE,

     EXPORT,

     CONDITION

FROM

[$(vRefTablesChamps)]

(ooxml, embedded labels, table is TABLES);

$(Include=$(vParamFolder)connect_comera.txt);

FOR i = 0 to (NoOfRows('Tables_A_Extraire')-1)

    LET vTable = peek('TABLE', $(i), 'Tables_A_Extraire');

    LET vExport = peek('EXPORT', $(i), 'Tables_A_Extraire');

    LET vCondition = peek('CONDITION', $(i), 'Tables_A_Extraire');   

    IF ('$(vExport)'='1' or '$(vExport)'='O' or '$(vExport)'='o') THEN

    //Si la table est à exporter

            TRACE Export de la table $(vTable);

            TRACE Export complet de la table $(vTable);

                //Préparation de la clause SELECT

            Champs_A_Extraire:

            LOAD distinct concat(CHAMP, ', ') as CHAMPS

            FROM

            [$(vRefTablesChamps)]

            (ooxml, embedded labels, table is CHAMPS)

            WHERE TABLE = '$(vTable)';

           

            LET vClauseSelect = peek('CHAMPS', -1, 'Champs_A_Extraire');

            IF ('$(vClauseSelect)'='') THEN

                SET vClauseSelect=*;

            ENDIF;

            DROP TABLE Champs_A_Extraire;

       

            //Préparation de la clause WHERE

           

            IF (not (isnull('$(vCondition)') or trim('$(vCondition)')='')) THEN

            //Si la condition est renseignée

                LET vClauseFrom = 'WHERE '&'$(vCondition)';

            ELSE

                LET vClauseFrom = '';

            ENDIF;

           

           

            $(vTable):

            SQL SELECT $(vClauseSelect)

            FROM $(vTable)

            $(vClauseFrom);

           

            STORE $(vTable) into [$(vQVDFolder)$(vTable)_$(vCodeSite).QVD] (qvd);

           

            DROP TABLE $(vTable);

                   

    ENDIF;

NEXT i;

DROP TABLE Tables_A_Extraire;

kevinchevrier
Contributor III

Re: Problème d'interprétation des données

à quoi correspond données machine dans ton script ?

Si tu mets cela : If(len(Données)>3, Données, num(Données)) as DONNEES_TRANSFORMEES


en remplacant Données par le nom du champ où tu as ce que tu appelles les "Données(machine)", alors ça devrait fonctionner.


Kevin

kevinchevrier
Contributor III

Re: Problème d'interprétation des données

Si je comprends bien ton script ça doit être à cet endroit :

$(vTable):

            SQL SELECT $(vClauseSelect),

               If(len(Données)>3, Données, num(Données)) as DONNEES_TRANSFORMEES

            FROM $(vTable)

            $(vClauseFrom);

Si c'est pas bon, essaie avec lenght :

If(lenght(Données)>3, Données, num(Données)) as DONNEES_TRANSFORMEES


Ensuite tu regardes dans ton QVD à quoi ressemble DONNEES_TRANSFORMEES