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
Not applicable

Date DDMMYYYY convertir DD/MM/YYYY dans le script

Bonjour.

J'ai une table ou sont stockées des dates au format DDMMYYYY. J'aimerai les convertir directement dans le script en DD/MM/YYYY.

Voici mon script:

SQL SELECT ATELIER as Atelier,

    DATECREATION as [Date de création],

    DATETRT as [Date de traitement],

    DUREETRAITEMENT as [Durée de traitement],

    ETAT as Etat,

    IDOPE as [Id Opérateur],

    IDQUALIFICATIF as [Id Qualificatif],

    IDSPHERE as [Id Sphère],

    MOTIF as Motif,

    NATURE as Nature,

    NBLIGNES as [Nombre de lignes],

    NBPAGES as [Nombre de pages],

    NBTACHES as [Nombre de tâches]

FROM "maTable";

D'avance merci pour votre aide.

Tags (1)
1 Solution

Accepted Solutions
sfatoux72
Not applicable

Re: Date DDMMYYYY convertir DD/MM/YYYY dans le script

Bruno à raison pour le preceding LOAD, mais le code doit être le suivant :

LOAD

   *,

   Date(Date#(DATECREATION, 'DDMMYYYY'), 'DD/MM/YYYY') as [Date de création],

   Date(Date#(DATETRT, 'DDMMYYYY'), 'DD/MM/YYYY') as [Date de traitement];

SQL SELECT

    ATELIER as Atelier,

    DATECREATION ,

    DATETRT,

    DUREETRAITEMENT as [Durée de traitement],

    ETAT as Etat,

    IDOPE as [Id Opérateur],

    IDQUALIFICATIF as [Id Qualificatif],

    IDSPHERE as [Id Sphère],

    MOTIF as Motif,

    NATURE as Nature,

    NBLIGNES as [Nombre de lignes],

    NBPAGES as [Nombre de pages],

    NBTACHES as [Nombre de tâches]

FROM "maTable";

DROP Field DATECREATION;

DROP Field DATETRT;

11 Replies
sravanthialuval
Not applicable

Re: Date DDMMYYYY convertir DD/MM/YYYY dans le script

Hi,

SQL SELECT ATELIER as Atelier,

   Date(DATECREATION,'DD/MM/YYYY') as [Date de création],

    Date(DATETRT,'DD/MM/YYYY') as [Date de traitement],

    DUREETRAITEMENT as [Durée de traitement],

    ETAT as Etat,

    IDOPE as [Id Opérateur],

    IDQUALIFICATIF as [Id Qualificatif],

    IDSPHERE as [Id Sphère],

    MOTIF as Motif,

    NATURE as Nature,

    NBLIGNES as [Nombre de lignes],

    NBPAGES as [Nombre de pages],

    NBTACHES as [Nombre de tâches]

FROM "maTable";

Not applicable

Re: Date DDMMYYYY convertir DD/MM/YYYY dans le script

J'avais essayé un truc du genre mais:

ErrorSource: Microsoft OLE DB Provider for SQL Server, ErrorMsg: 'Date' n'est pas une option nom de fonction intégrée reconnue.

brunobertels
Not applicable

Re: Date DDMMYYYY convertir DD/MM/YYYY dans le script

Bonjour

L’instruction SQL select ne reconnait pas le code Qlik d'ou le message d'erreur

essaye avec un preceding load :

Load

  Date(DATECREATION,'DD/MM/YYYY') as [Date de création],

    Date(DATETRT,'DD/MM/YYYY') as [Date de traitement]

;

SQL SELECT ATELIER as Atelier,

    DATECREATION ,

    DATETRT,

    DUREETRAITEMENT as [Durée de traitement],

    ETAT as Etat,

    IDOPE as [Id Opérateur],

    IDQUALIFICATIF as [Id Qualificatif],

    IDSPHERE as [Id Sphère],

    MOTIF as Motif,

    NATURE as Nature,

    NBLIGNES as [Nombre de lignes],

    NBPAGES as [Nombre de pages],

    NBTACHES as [Nombre de tâches]

FROM "maTable";

almamy_diaby
Not applicable

Re: Date DDMMYYYY convertir DD/MM/YYYY dans le script

left(DATECREATION,2)&'/'&mid(DATECREATION,3,2)&'/'&right(DATECREATION,4) as as [Date de création],

left(DATETRT,2)&'/'&mid(DATETRT,3,2)&'/'&right(DATETRT,4) as as [Date de traitement],

Not applicable

Re: Date DDMMYYYY convertir DD/MM/YYYY dans le script

Ca me donne ça comme date:

Capture.PNG

sfatoux72
Not applicable

Re: Date DDMMYYYY convertir DD/MM/YYYY dans le script

Bruno à raison pour le preceding LOAD, mais le code doit être le suivant :

LOAD

   *,

   Date(Date#(DATECREATION, 'DDMMYYYY'), 'DD/MM/YYYY') as [Date de création],

   Date(Date#(DATETRT, 'DDMMYYYY'), 'DD/MM/YYYY') as [Date de traitement];

SQL SELECT

    ATELIER as Atelier,

    DATECREATION ,

    DATETRT,

    DUREETRAITEMENT as [Durée de traitement],

    ETAT as Etat,

    IDOPE as [Id Opérateur],

    IDQUALIFICATIF as [Id Qualificatif],

    IDSPHERE as [Id Sphère],

    MOTIF as Motif,

    NATURE as Nature,

    NBLIGNES as [Nombre de lignes],

    NBPAGES as [Nombre de pages],

    NBTACHES as [Nombre de tâches]

FROM "maTable";

DROP Field DATECREATION;

DROP Field DATETRT;

Not applicable

Re: Date DDMMYYYY convertir DD/MM/YYYY dans le script

Ok ça fonctionne très bien.

Je me permet de pousser un peu du coup.

J'ai pour habitude de stocker le trimestre comme ceci:  datename(qq, DATECREATION) as Quarter

Car j'aime bien stocker une valeur numérique.

Même question pour les numéro de mois d'ailleurs.

Comment puis-je faire dans un LOAD ?

Cordialement,

sfatoux72
Not applicable

Re: Date DDMMYYYY convertir DD/MM/YYYY dans le script

Tu peux utiliser ta fonction datename(qq, DATECREATION) as Quarter dans la partie SQL SELECT.

Dans la partie LOAD tu peux utiliser ça :   Div(Month(DATECREATION)-1, 3) + 1 as Quarter

Not applicable

Re: Date DDMMYYYY convertir DD/MM/YYYY dans le script

C'est bizarre, il considère que janvier est au Trimestre 4 avec la formule du LOAD.

Je ne comprends pas nom plus pourquoi j'ai cette erreur quand je lance la formule SQL: ErrorSource: Microsoft OLE DB Provider for SQL Server, ErrorMsg: Une erreur de dépassement arithmétique s'est produite lors de la conversion de expression en type de données datetime.