﻿Calendrier = 

// penser à changer les années en fonctions des transactions

ADDCOLUMNS(
	CALENDAR(
        	DATE(2023,1,1),
        	DATE(2024,12,31)
    ),
    "Annee", FORMAT([Date],"YYYY"),
    "Trimestre" , "T"&FORMAT([Date],"Q"),
    "Annee mois", FORMAT([Date],"YYYYMM"),
    "Nom du mois", FORMAT([Date],"MMM") ,
    "Numero du mois", MONTH([Date]),
    "Semaine", YEAR([Date])&"S"&WEEKNUM([Date],21),
    "Nom du jour", FORMAT([Date],"DDDD"),
    "Numero du jour" , WEEKDAY([Date],2),
    "Jour ouvre" , IF(WEEKDAY([Date],2)>6,"Week-end")
)

/* 

Date de début et date de fin peuvent être calculées dynamiquement à partir de la date principale ('Date1') et la fonction CALENDAR. 
        CALENDAR ( DATE ( YEAR ( MIN ( Date1 ) ) , 1 , 1 ),
                   DATE ( YEAR ( MAX ( Date1 ) ) , 12 , 31 ) )

Après sa creation, trier la table en fonction de la colonne [Date] - question de confort. 

Dans l'onglet Modélisation, marquer la table comme table de date

Utiliser la fonction Trier par colonne pour :
        - trier la colonne Nom du mois par la colonne Numéro du mois
        - trier la colonne Nom du jour par la colonne Numéro du jour

De plus, vous pouvez modifier le format de mise en forme du champ Date pour ne pas avoir les heures affichées.

Dans la vue Modèle, lier Calendrier à la table des faits contenant les dates de transactions, 
    en définissant la liaison active sur la date la plus importante
    et le cas écheant des liaisons inactives sur les autres dates utiles

Enfin il est conseillé de masquer les champs de type Date liés à la table Calendrier
    et de masquer les champs Numéro du jour et du mois de la table Calendrier
*/
