Fatima vous informe que les équipes opérationnelles sont mécontentes du manque de visibilité sur les durées de recrutement pour les différents métiers au sein d'Ethikwear. Pour répondre à cette préoccupation, elle vous demande d'explorer les capacités de Power BI sur la manipulation et l'analyse des dates.
In fine, l’objectif sera d’ajouter au tableau de bord des indicateurs sur les durées de recrutement pour mieux comprendre les délais associés à chaque type de poste et d'identifier des opportunités pour améliorer le processus de recrutement.
Allons-y !
Manipulez des objets Date
Les fonctions de Dates et heures vous permettent de manipuler et analyser les données temporelles. Ci-dessous, vous trouverez plusieurs fonctions que vous utiliserez probablement régulièrement en DAX.
Syntaxe | Description | Paramètres |
TODAY() | Retourne la date du jour au format Date. |
|
NOW() | Cette fonction est similaire à TODAY() mais elle inclut l’heure exacte. |
|
DAY(<date> ) MONTH(<date> ) YEAR(<date> ) | Ces trois fonctions vous renvoient le jour ou le mois ou l’année d’une date donnée. |
|
DATEDIFF( <Date1>, <Date2>, <Interval> ) | Renvoie le nombre de d'intervalles entre deux dates (exemple : nombre de jours entre deux dates ou nombre de semaines…). |
|
Parfois, il peut vous être utile d’avoir une table de date à votre modèle de données et d’en définir les attributs, tels que le début et la fin de la période étudiée. Regardons cela.
Créez une table de dates
Les situations dans lesquelles vous pouvez vouloir une table de date sont principalement les suivantes :
Analyse temporelle : Pour utiliser les fonctions d’intelligence temporelle de DAX , comme les calculs de périodes précédentes, les cumuls annuels, trimestriels, mensuels, etc. Une table de date permet de manipuler facilement ces périodes.
Rapports dynamiques : Une table de date permet de créer des rapports plus dynamiques et interactifs, en facilitant le filtrage et le regroupement des données par différentes périodes (jours, mois, trimestres, années).
Consistance des données : En utilisant une table de date unique, vous assurez la cohérence des dates à travers tout votre modèle de données, évitant ainsi les erreurs liées à des formats de date différents ou des dates manquantes.
Calculs complexes : Pour des calculs plus avancés, comme les prévisions, les tendances ou les comparaisons entre périodes, une table de date bien structurée est essentielle.
Pour créer une table, DAX dispose de plusieurs fonctions utiles que nous allons voir ensemble :
Syntaxe | Description | Paramètres |
CALENDAR( <start_date>, <end_date> ) | Retourne une table avec une seule colonne nommée « Date » qui contient un ensemble de dates contigu. La plage de dates est la période allant de la date de début spécifiée à la date de fin spécifiée, inclus. |
|
CALENDARAUTO( [fiscal_year_end_month]) | Retourne une table avec une seule colonne nommée « Date » qui contient un ensemble de dates contigu. La plage de dates est calculée automatiquement en fonction des données du modèle. |
|
Par exemple :
La formule suivante nous renvoie une table avec une seule colonne des dates entre le premier janvier 2023 et le 31 décembre 2023.
Calendrier_2023 =
CALENDAR (
"01/01/2023",
"31/12/2023"
)
Utilisez les fonctions time intelligence
Les fonctions de Time Intelligence de DAX sont utiles dès que vous avez besoin d’analyser des données sur des périodes de temps spécifiques.
Ci-dessous quelques situations où elles ont leur intérêt :
Comparaison de Périodes : Elles permettent de comparer facilement les données d’une période à une autre, comme les annonces d’offres d’emploi de cette année par rapport à l’année dernière, ou du trimestre actuel par rapport au trimestre précédent.
Calculs Automatisés : Vous pouvez calculer automatiquement les totaux cumulés depuis le début de l’année, du trimestre ou du mois en cours.
Analyse des Tendances : Vous pouvez décaler une plage de dates à prendre en compte dans vos calculs en fonction d’une variable et ainsi analyser des tendances par exemple.
Les fonctions les plus couramment utilisées sont :
Syntaxe | Description | Paramètres |
PREVIOUSDAY(<date> ) Idem avec NEXTDAY(<date> ). Il existe plusieurs fonctions pour le calcul sur le mois, le trimestre ou l’année. | Renvoie le jour qui précède la date donnée dans le contexte actuel. Inversement Next renvoie la suivante. |
|
DATESBETWEEN(<Dates>, <StartDate>, <EndDate> ) | A partir d’une colonne de dates, cette fonction renvoie les dates comprises entre une date de début spécifiée et une date de fin spécifiée. |
|
DATESINPERIOD( <dates>, <start_date>, <number_of_intervals>, <interval> ) | Renvoie une table contenant une colonne de dates qui commence à une date de début spécifiée et se poursuit pendant le nombre et le type d’intervalles de dates spécifiés. |
|
SAMEPERIODLASTYEAR(<dates> ) | Renvoie une table qui contient une colonne de dates déplacées d’une année en remontant dans le temps à partir des dates de la colonne dates spécifiée dans le contexte actuel. |
|
Voyons comment utiliser ces fonctions dans la pratique à travers la vidéo suivante.
Dans ce screencast, nous avons vu :
Le fonctionnement de la fonction
TODAY()
.Le fonctionnement de la fonction
DATESBETWEEN()
pour filtrer une colonne de dates.
Assemblons tout cela ensemble pour aider l’équipe à mieux organiser ses recrutements.
À vous de jouer
Contexte
Fatima voudrait que vous calculiez un indicateur des délais de recrutement sur le tableau de bord.
Salut ! 👋 C'est Fatima ici.
J'ai une nouvelle tâche pour toi : peux-tu calculer et ajouter un indicateur des délais de recrutement sur notre tableau de bord ? Ce serait super utile pour nous aider à anticiper nos recrutements et pour communiquer auprès des opérationnels.
Merci d'avance pour ton travail sur cela.
A très vite ! 📊👩💼
Consignes
Calculez l’indicateur de délai de recrutement :
en utilisant les dates de publication des offres (colonne
listed_time
) et les dates de clôture (colonneclosed_time
) de la table des offres d’emploien neutralisant les offres qui ont expiré sans être pourvues (colonne
expiry
de la table des offres d’emploi).
En résumé
Utilisez les fonctions de base telles que
TODAY
,NOW
,DAY
,MONTH
, etYEAR
pour extraire et manipuler des objets de date.Vous pouvez ajouter des tables de dates à votre modèle de données avec la fonction
CALENDAR
lorsque vous avez besoin de filtrer votre modèle de données sur une plage de dates cohérente entre toutes les tables.Les fonctions Time Intelligence vous permettent de comparer des périodes temporelles dans vos données.
Dans le chapitre suivant, nous allons découvrir des outils pour vous faciliter la vie sur DAX !