Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

calendrier

Bonjour ,

J'ai le champ Date sous cette forme [mois_année]  et je voudrais voir mes analyses en mois , trimestre , année . Pour cela j'aimerais bien que vous m'aidez à crée ce calendrier . Merci d'avance

1 Solution

Accepted Solutions
almamy_diaby
Creator
Creator

Si la date est sous cette forme YYYY-MM

Mois: month('01/'&right(Champdate,2)&'/'&left(Champdate,4)) as Mois,

Pour le trimestre: 'T' & ceil(month('01/'&right(Champdate,2)&'/'&left(Champdate,4)) / 3) as TRIMESTRE;

Pour l'année:  left(Champdate,4) as Annee,

View solution in original post

8 Replies
almamy_diaby
Creator
Creator

bonjour

Pour le mois : Month('01/'&ChampDate) as MOIS,

Pour le trimestre: 'T' & ceil(month('01/'&ChampDate) / 3) as TRIMESTRE,

Pour l'année: Year('01/'&ChampDate) as Annee,

rfe
Employee
Employee

Bonjour,

winnerdiaby a raison mais il faut que les dates soient stockées sous le format 01/2013

si ce n'est pas le cas, il faut retravailler l'expression

Dans quel format sont vos données [mois_année] ?

Not applicable
Author

Bonjour Raynald,

mon cham date est sous cette format :

'['&$(année)&' - '&$(mois)&']'

les mois pruvent varier bien sur de 01 à 12 et les année de 2010 à 2014

Je veux afficher un calendrier à travers lequel je peux selectionner en trimestre en année et en mois

Merci d'avance

hic
Former Employee
Former Employee

Si j'ai bien compris, la date ressemble [2013-04].

Si c'est le cas, je préfère utiliser la fonction Date#() pour interpréter la date et aucune opération de texte.

Load *,

          Year(Date) as Année,

          Month(Date) as Mois,

          Ceil(Month(Date)/3) as Trimestre;

Load

          Date#(Purgechar(ChampDate,'[]'),'YYYY-MM') as Date

          ...

HIC

almamy_diaby
Creator
Creator

Si la date est sous cette forme YYYY-MM

Mois: month('01/'&right(Champdate,2)&'/'&left(Champdate,4)) as Mois,

Pour le trimestre: 'T' & ceil(month('01/'&right(Champdate,2)&'/'&left(Champdate,4)) / 3) as TRIMESTRE;

Pour l'année:  left(Champdate,4) as Annee,

Not applicable
Author

Merci Pour votre réponse HIC mais malheureusement les champs résultant snt vides je ne sais pas pourquoi Voici mon script est ce que vous pourriez m'aider à le corriger; Merci d'avance 

Calendrier:

Load*,

Year(Date) as Année,

Month(Date) as Mois,

Ceil(Month(Date)/3) as Trimestre;

Load

Date#(Purgechar(Date,'[]'),'YYYY-MM') as Date

resident Vente;

Not applicable
Author

Ca  fonctionne Merciii infiniment Winnerdiaby . Merci à tous  pour vos réponses

almamy_diaby
Creator
Creator

DATES_TEMP:

LOAD distinct 

    date(trim('01/'&right(Champdate,2)&'/'&left(Champdate,4)),'DD/MM/YYYY') as DATE

RESIDENT Vente WHERE (len(DATE)>0);

NoConcatenate

DATES:

Load distinct date(DATE) as QUERY_DATE

RESIDENT DATES_TEMP

ORDER BY DATE ASC;

drop table DATES_TEMP;

LET varMinDate = round(Num(Peek('QUERY_DATE', 0,'DATES')));

LET varMaxDate = round(Num(Peek('QUERY_DATE', -1,'DATES')));

TEMPCALENDRIER:

LOAD $(varMinDate) + rowno() - 1 AS Num,

           date($(varMinDate) + rowno() - 1) AS TempDate

AUTOGENERATE $(varMaxDate) - $(varMinDate) + 1;

//CALENDRIER:

TEMPS:

LOAD distinct trim(date(TempDate)) AS DATE,

Week(TempDate) AS SEMAINE,

Year(TempDate) AS ANNEE,

Month(TempDate) AS MOIS,

Day(TempDate) AS JOUR,

Weekday(TempDate) AS JOUR_SEMAINE,

'T' & ceil(month(TempDate) / 3) AS TRIMESTRE,

MonthName(TempDate) AS MOIS_ANNEE,

Week(TempDate)&'-'&Year(TempDate) AS SEMAINE_ANNEE

RESIDENT TEMPCALENDRIER ORDER BY TempDate ASC;

drop table DATES;

drop table TEMPCALENDRIER;