---
schema_version: "1"
id: c2455105cc53facc8261e59f6e61ab63353b8be77046c52b646da49162ac4b05
title: Occupation des lits d’hôpitaux avec Tableau Prep
collection: tableau
version: current
locale: fr-fr
portal_url: https://docs.salesforce.com/tableau/current/fr-fr/prep/prep_tutorial_hospitalbeds.md
canonical_url: https://help.tableau.com/current/prep/fr-fr/prep_tutorial_hospitalbeds.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 8bccabe2c48b11fd9c7a85a1adbf1193584c4617fc692fc891ff1be2b1b1339b
description: "tutorial: analyze hospital bed usage by restructuring data in Tableau Prep."
---
[Passer au contenu principal](#main-content)

# Occupation des lits d’hôpitaux avec Tableau Prep

Atteindre la capacité maximale dans un hôpital est certes problématiques, mais une surabondance des ressources l’est également. Il est important de comprendre les lits d’hôpitaux en considérant le lit en tant que ressource. Toutefois, les données sont souvent enregistrées du point de vue d’un patient. Comment prendre des données qui capturent le moment où des patients occupent des lits et déterminer l’occupation des lits ?

**Remarque** : pour effectuer les tâches décrites dans ce didacticiel, vous aurez besoin d’installer Tableau Prep et, de manière facultative, Tableau Desktop :  
  
Pour installer Tableau Prep et Tableau Desktop, consultez le [Guide de déploiement de Tableau Desktop et Tableau Prep.](https://help.tableau.com/current/desktopdeploy/fr-fr/desktop_deploy_welcome.htm#) Sinon, vous pouvez télécharger les versions d’essai gratuit de [Tableau Prep](https://www.tableau.com/fr-fr/products/prep/download) et Tableau Desktop Free Edition.  
  
Vous devrez également télécharger trois fichiers de données. Il est recommandé de les enregistrer dans le dossier Mon dossier Tableau Prep > Sources de données.  
\- [Beds.xlsx](https://mkt.tableau.com/PrepTutorials/Beds.xlsx)  
\- [Hours.xlsx](https://mkt.tableau.com/PrepTutorials/Hours.xlsx)  
\- [Patient Beds.xlsx](https://mkt.tableau.com/PrepTutorials/Patient%20Beds.xlsx)

## Les données

Pour nos quatre lits, A, B, C et D, nous suivons quel patient occupait le lit, et l’heure de début et de fin de son occupation. Les données se présentent comme suit :

![Aperçu de l’ensemble de données Patient Bed](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_patientbeddata.png)

## Analyse préliminaire

Si nous introduisons les données dans Tableau Desktop, nous pouvons créer un diagramme de Gantt pour montrer à quel moment les patients occupent les lits.

![Diagramme de Gantt dans Tableau Desktop pour l’ensemble de données Patient Bed](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_originaldatagantt.png)

Cette représentation visuelle est utile. Nous pouvons voir qu’il n’existe que de brefs intervalles entre les occupations pour les lits A et B, mais que le lit C, quant à lui, est très sous-utilisé. Il n’y a pas d’heure de fin pour le patient du lit D, mais nous pourrons gérer ce problème avec quelques calculs. Nous disposons ainsi d’une vue d’ensemble visuelle du mode d’occupation des lits.

Par contre, comment faire pour compter le nombre d’heures pendant lequel un lit était vacant ? Ou comparer la durée d’inoccupation des lits avant ou près la mise en place d’une nouvelle stratégie ? Il n’existe aucun moyen facile de répondre à ces questions avec la structure actuelle des données.

## Structure souhaitée des données

En créant quelques ensembles de données très élémentaires et en les combinant dans Tableau Prep, nous pouvons transformer la structure de cet ensemble de données de manière à pouvoir effectuer des analyses plus approfondies et créer des visualisations encore plus utiles.

Avant de passer à Tableau Prep, prenons du recul et considérons ce dont nous avons besoin pour répondre à la question, « Pendant combien d’heures chaque lit a-t-il été inoccupé ? »

Nous devons pouvoir examiner chaque lit pour chaque heure, et savoir si un patient occupait ou non le lit. Actuellement, les données relèvent seulement quand un patient occupait le lit. Nous n’avons pas donné d’informations à Tableau au sujet des heures d’_inoccupation_.

Pour créer cette matrice complète de tous les lits et de toutes les heures, nous allons créer deux ensembles de données. L’un d’eux est simplement une liste de lits (A, B, C, D) et l’autre une liste d’heure (1, 2, 3, …, 23, 24). En effectuant une jointure croisée (en liant chaque ligne d’un ensemble de données avec chaque ligne de l’autre ensemble de données), nous obtiendrons chaque combinaison possible de lits et d’heures.

<table style="width: 100%;border-left-style: solid;border-left-width: 1px;border-right-style: solid;border-right-width: 1px;border-top-style: solid;border-top-width: 1px;border-bottom-style: solid;border-bottom-width: 1px;mc-table-style: url('Resources/TableStyles/Basic-Border-Light.css');" class="TableStyle-Basic-Border" cellspacing="0"><colgroup><col style="width: 33%;" class="TableStyle-Basic-Border-Column-Column1"><col style="width: 33%;" class="TableStyle-Basic-Border-Column-Column1"><col class="TableStyle-Basic-Border-Column-Column1"></colgroup><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td style="text-align: center;" class="TableStyle-Basic-Border-BodyE-Column1-Body1">L’ensemble de données <b>Beds.xlsx</b> se présente comme suit&nbsp;:</td><td style="text-align: center;" class="TableStyle-Basic-Border-BodyE-Column1-Body1">L’ensemble de données <b>Hours.xlsx</b> se présente comme suit&nbsp;:</td><td style="text-align: center;" class="TableStyle-Basic-Border-BodyD-Column1-Body1">Et les résultats de la jointure croisée se présentent comme suit&nbsp;:&nbsp;</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td style="text-align: center;" class="TableStyle-Basic-Border-BodyB-Column1-Body1"><img src="https://help.tableau.com/current/prep/fr-fr/Img/prep_tutorial_hb_bedsdata.png" alt="Aperçu de l’ensemble de données Beds"></td><td style="text-align: center;" class="TableStyle-Basic-Border-BodyB-Column1-Body1"><img src="https://help.tableau.com/current/prep/fr-fr/Img/prep_tutorial_hb_hoursdata.png" alt="Aperçu de l’ensemble de données Hours"></td><td style="text-align: center;" class="TableStyle-Basic-Border-BodyA-Column1-Body1"><img src="https://help.tableau.com/current/prep/fr-fr/Img/prep_tutorial_hb_bedhourmatrix.png" alt="Aperçu des données de la matrice Bed-Hour"></td></tr></tbody></table>

Ensuite, nous allons intégrer les informations **Patient Beds** (Lits de patients) en étiquetant chaque combinaison lit-heure comme ayant ou non un patient spécifique. Nous obtenons un ensemble de données qui inclut une ligne pour chaque lit-heure, et indique si un patient occupait le lit, le nombre et les heures de début et de fin. Les valeurs null indiquent que le lit était inoccupé.

![Aperçu des données de la matrice Bed-Hour-Patient](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_bedhourpatientmatrix.png)

Avec les données de cette structure, nous pouvons effectuer des analyses de ce type, afin d’analyser les lits vacants aussi facilement que les lits avec patients.

![Tableau de bord des données mises en forme montrant l’utilisation du lit par heure et par patient](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_shapeddatadashboard.png)

## Restructuration des données

Comment utiliser Tableau Prep à cette fin ? Nous allons créer le flux en deux parties, tout d’abord en créant la matrice Lits Heures, puis en la combinant avec les données Lits de patients. Assurez-vous de télécharger les trois fichiers (**Beds.xlsx**, **Hours.xlsx** et **Patient Beds.xlsx**) pour bien suivre le didacticiel.

### Matrice Lits Heures

Tout d’abord, nous allons nous connecter au fichier **Beds.xlsx**.

1. Ouvrez Tableau Prep.
2. Dans l’écran de démarrage, sélectionnez Se connecter aux données.
3. Dans le volet Connexions, sélectionnez Microsoft Excel. Accédez à l’emplacement où vous avez enregistré **Bed.xlsx** et sélectionnez Ouvrir.
4. La feuille Beds devrait apparaître automatiquement dans le volet Flux.

**Conseil** : pour plus d’informations sur la connexion aux données, consultez [Se connecter aux données](https://help.tableau.com/current/prep/fr-fr/prep_connect.htm).

Ensuite, nous devons créer un champ pour effectuer la jointure croisée avec l’ensemble de données **Hours** (Heures). Nous allons ajouter un calcul, qui est simplement la valeur **1**.

1. Dans le volet Flux, sélectionnez Beds (Lits) puis sélectionnez l’étape de nettoyage suggérée.
2. Avec l’étape Nettoyer que nous venons d’ajouter, le volet Profil s’affiche. Sélectionnez Créer un champ calculé dans la barre d’outils.
3. Nommez le champ **Cross Join** (Jointure croisée) et entrez la valeur **1**.
4. La grille Données devrait se mettre à jour pour afficher l’état actuel des données.
    
    ![Une table qui affiche le résultat d’une jointure croisée.](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_crossjoinresults.png "visuel de la grille des données avec colonnes pour la jointure croisée et les lits")

Nous allons répéter le processus pour l’ensemble de données Hours (Heures).

Développer pour accéder aux instructions

1. Dans le volet Connexions, sélectionnez le bouton Ajouter une connexion ![Un bouton pour ajouter une connexion de données.](/tableau/current/fr-fr/prep/fr-fr/Img/prep_addconnection.png) pour ajouter une autre connexion de données.
2. Choisissez Microsoft Excel puis sélectionnez **Hours.xlsx** file et cliquez sur Ouvrir.
3. Dans le volet Flux, sélectionnez Hours (Heures) et cliquez sur l’étape de nettoyage suggérée pour l’ajouter au flux.
4. Dans la barre d’outils du volet Profil, créez un champ calculé appelé **Cross Join** (Jointure croisée) et entrez la valeur **1**.
    
    ![Une table qui affiche le résultat d’une jointure croisée.](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_crossjoinresults2.png "visuel de la grille des données avec colonnes pour la jointure croisée et les heures")

Les deux ensemble de données ont maintenant un champ partagé, **Cross Join**, et peuvent être liés.

1. Liez les deux étapes de nettoyage en faisant glisser **Nettoyer 2** sur **Nettoyer 1** et en les déposant sur l’option Lier.
    
    ![Le volet de flux affichant la zone de dépôt Lier lorsque Nettoyer 2 est déplacé vers Nettoyer 1](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_clean1joinclean2.png)
2. Dans le Profil de jointure ci-dessous, les configurations de jointure devraient se remplir automatiquement.
    
    - Étant donné que nous avons nommé les deux champs **Cross Join**, Tableau Prep les identifie automatiquement comme champ partagé et crée les Clauses de jointure appliquées appropriées.
    - Le Type de jointure par défaut est interne, et c’est ce que nous souhaitons.
    - Cette jointure correspondra à toutes les lignes issues de **Beds** avec toutes les lignes issues de **Hours**, comme nous l’avons vu dans la grille Données.
    
    ![Le volet de profil de jointure avec divers éléments appelés pour correspondre à la liste ci-dessus](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_join1profile.png)
    
    A. Clause de jointure
    
    B. Type de jointure
    
    C. Résultats de la grille de données

**Conseil** : pour plus d’informations sur les jointures, consultez [Lier vos données](https://help.tableau.com/current/prep/fr-fr/prep_combine.htm#Join).

Nous n’avons plus besoin des fichiers **Cross Join** donc nous pouvons les supprimer.

1. Dans le volet Flux, sélectionnez **Lier 1**, sélectionnez l’icône Plus ![Un bouton avec un signe Plus.](/tableau/current/fr-fr/prep/fr-fr/Img/prep_addicon.png), puis sélectionnez Étape de nettoyage.
2. Sélectionnez les champs **Cross Join-1** et **Cross Join**, puis l'option Supprimer les champs.
3. Double-cliquez sur l’étiquette **Nettoyer 3** et renommez cette étape **Bed Hour Matrix** (Matrice Lits Heures).

Nous avons maintenant l’ensemble de données Bed Hour Matrix qui contient tous les lits et toutes les heures, et nous avons terminé la première partie de la création de notre ensemble de données.

### Occupation des lits de patients

La deuxième partie consiste à introduire l’occupation des lits des patients. Pour commencer, nous nous connectons aux données.

1. Dans le volet Connexions, sélectionnez le bouton Ajouter une connexion ![Un bouton pour ajouter une connexion de données.](/tableau/current/fr-fr/prep/fr-fr/Img/prep_addconnection.png) pour ajouter une autre connexion de données.
2. Choisissez Microsoft Excel, sélectionnez le fichier **Patient Beds.xlsx**, puis l'option Ouvrir.
3. Dans le volet Flux, sélectionnez **Patient Beds** (Lits d’hôpitaux), puis sélectionnez l’étape de nettoyage suggérée pour l’ajouter au flux.

Le fichier Bed Hour Matrix est basé sur le nombre d’_heures_ mais Patient Beds est basé sur l’_heure réelle_, nous devons extraire les heures de début et de fin de Patient Beds. En outre, pour l’heure de fin, nous voulons nous assurer que, si un patient occupe encore le lit à la fin de la journée (minuit, heure 24), ce lit sera indiqué comme occupé alors même qu’il n’y a pas d’heure de fin dans l’ensemble de données. Nous allons ajouter un champ calculé dans cette nouvelle étape.

1. Dans la barre d’outils, cliquez sur Créer un champ calculé.
2. Nommez le champ **Start Hour** (Heure de début). Pour le calcul, entrez `DATEPART('hour',[Start Time])`.
3. Ce calcul prend l’heure de début et l’extrait. De ce fait, « 1/1/18 9:35 AM » devient simplement « 9 ».
4. Créez un autre champ calculé appelé **End Hour** (Heure de fin). Pour le calcul, entrez `IFNULL(DATEPART('hour',[End Time]), 24)`.

La partie `DATEPART` prend l’heure de fin. La partie `IFNULL` affectera une heure de fin de 24 (minuit) en l’absence d’heure de fin.

Nous sommes maintenant prêts à lier l’occupation des lits de patients à **Bed Hour Matrix**. Cette jointure est un peu plus complexe que les précédentes. Une jointure interne retournerait uniquement les valeurs présentes dans les deux ensembles de données. Étant donné que nous souhaitons conserver tous les emplacements lit-heure, qu’un patient ait ou non occupé le lit, nous devons effectuer une jointure gauche. Ceci entraîne beaucoup de valeurs null, mais ce résultat est correct.

Nous devons également faire l’association lorsqu’un emplacement lit-heure est pris par un patient (ou des patients). Donc, en plus d’associer le lit occupé par le patient, nous devons également prendre en considération l’heure. L’ensemble de données Bed Hour Matrix a justement un champ **Hour** (Heure) et l’ensemble de données **Patient Beds** a des champs **Start Hour** (Heure de début) et **End Hour** (Heure de fin). Nous allons utiliser des notions de logique de base pour déterminer si un patient devrait être affecté à un emplacement lit-heure donné : _Un patient est considéré comme occupant un lit si son heure de début est inférieure ou égale à (<=) l’emplacement lit-heure ET que son heure de fin est supérieure ou égale à (>=) l’emplacement lit-heure._

De ce fait, trois clauses de jointure sont nécessaires pour associer correctement ces deux ensembles de données ensemble.

1. Liez l’étape **Nettoyer 3** avec l’étape **Bed Hour Matrix**.
2. Dans la zone Clauses de jointure appliquées, le paramètre par défaut devrait être **Hour** = **End Hour**. Sélectionnez la clause de jointure pour modifier l’opérateur de « **\=** » en « **<=** ».
    
    ![Champs avec opérateurs de jointure.](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_joinoperator.png "représentation du changement d’opérateur de jointure")
3. Sélectionnez le bouton Plus ![Un bouton avec un signe Plus.](/tableau/current/fr-fr/prep/fr-fr/Img/prep_addvalueicon.png) en haut à droite de la zone Clauses de jointure appliquées pour ajouter une autre clause de jointure. Définissez-la sur **Hour >= Start Hour.** Ajoutez une troisième clause de jointure pour **Bed = Hospital Bed**.
4. Dans la section Type de jointure, sélectionnez la zone sans trame de fond du graphique à côté de **Bed Hour Matrix** (Matrice des heures d’hospitalisation) pour modifier le type de jointure sur une jointure **gauche**.
    
    ![Le volet de profil de jointure pour la jointure 2 affichant la configuration correcte](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_join2.png)

**Remarque** : si vous faites glisser **Bed Hour Matrix** vers **Nettoyer 3** et non l’inverse, vous pouvez obtenir les résultats souhaités en utilisant une jointure droite au lieu d’une jointure gauche. L’ordre dans lequel vous faites glisser les étapes a une incidence sur l’orientation de la jointure. Les clauses de jointure seront également dans l’ordre inverse. Veillez à préserver la logique correcte de comparaison des heures.

Nos données sont maintenant liées, mais il nous faut nettoyer quelques artefacts de la jointure et nous assurer que les champs sont bien ordonnés. Nous n’avons plus besoin des paramètres **Start Hour** et **End Hour**. **Hospital Bed** et **Bed** sont également redondants. Enfin, une valeur null dans le champ **Patient** signifie réellement que le lit est vacant.

1. Dans le volet Flux, ajoutez une étape de nettoyage afin que nous puissions mettre de l’ordre dans les données liées.
2. Faites un Ctrl+clic (Command+clic sur un Mac) pour faire une sélection multiple des champs **End Hour** (Heure de fin), **Start Hour** (Heure de début) et **Hospital Bed** (Lit d’hôpital), puis sélectionnez Supprimer des champs dans la barre d’outils.
3. Dans la fiche Profil du champ **Patient**, double-cliquez sur la valeur **null** et tapez **Unoccupied** (Inoccupé).

Nous avons maintenant une structure de données avec une ligne pour chaque lit-heure. Si un patient occupait un lit pendant cette heure, nous disposons également des informations sur le patient. Il ne nous reste plus qu’à ajouter une étape de sortie et à générer l’ensemble de données lui-même.

1. Dans le volet Flux, sélectionnez **Nettoyer 4**, sélectionnez l’icône Plus ![Un bouton avec un signe Plus.](/tableau/current/fr-fr/prep/fr-fr/Img/prep_addicon.png), puis ajoutez une étape de Sortie.
2. Dans le volet Sortie, modifiez le Type de sortie sur .csv puis sélectionnez Parcourir.
3. Entrez **Bed Hour Patient Matrix** comme nom et choisissez l’emplacement souhaité avant de sélectionner Accepter pour enregistrer.
4. Sélectionnez le bouton Exécuter le flux au bas du volet pour générer votre sortie. Sélectionnez Terminé dans la boîte de dialogue d’état pour fermer la boîte de dialogue.

**Conseil** : pour plus d’informations sur les fichiers de sortie et l’exécution d’un flux, consultez [Enregistrer et partager votre travail](https://help.tableau.com/current/prep/fr-fr/prep_save_share.htm#Export).

Le flux final devrait se présenter comme suit :

![Le volet de flux avec toutes les étapes terminées](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_finalflow.png)

## Analyse dans Tableau Desktop

Pour installer Tableau Desktop avant de poursuivre ce didacticiel, vous pouvez télécharger Tableau Desktop Free Edition.

Maintenant que l’ensemble de données présente la structure souhaitée, nous pouvons effectuer une analyse plus approfondie qu’avec les données d’origine.

1. Ouvrez Tableau Desktop. Dans le volet Connexion, sélectionnez Fichier texte, accédez au fichier **Bed Hour Patient Matrix.csv**, puis sélectionnez Ouvrir.
2. Dans l’onglet Source de données, les données devraient apparaître dans l’espace de travail par défaut. Accédez à **Sheet 1**.
3. Dans le volet Données, faites glisser **Hour** au-dessus de la ligne séparant les Mesures et les Dimensions pour en faire une dimension discrète.
    
    ![Faire glisser un champ Mesure sur la section Dimension pour le convertir en dimension.](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hospitalbeds_dimmeasure.png)
4. Faites glisser **Bed** vers l’étagère Lignes et **Hour** vers l’étagère Colonnes.
5. Faites glisser **Patient** vers l’étagère Couleur.

![Vue de base des données mises en forme dans Tableau Desktop montrant l’utilisation du lit par heure](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_desktopbasic.png)

La mise en forme est facultative mais contribue à rendre les visuels plus lisibles.

1. Sélectionnez l’étagère Couleur, puis l’option Modifier les couleurs.
2. Dans la zone à gauche, sélectionnez **Unoccupied**. Dans la liste déroulante à droite, choisissez la palette de couleurs Seattle Grays.
3. Sélectionnez le quatrième gris le plus clair, et cliquez sur OK.
4. Sélectionnez à nouveau l’étagère Couleur, puis cliquez sur la liste déroulante Bordure. Choisissez la seconde option de gris tout à droite.
5. Dans la barre d’outils, depuis la liste déroulante Taille, modifiez Standard sur Adapter la largeur.
    
    ![Image de l’emplacement de la liste déroulante Taille dans la barre d’outils](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_desktopfitwidth.png)
6. Sélectionnez le menu Format, puis Bordures.
7. Dans Séparateur de lignes, sélectionnez la liste déroulante Volet et choisissez un gris très clair.
8. Ajustez le curseur Niveau sur la seconde graduation.
9. Répétez l’opération avec Séparateur de colonnes. Définissez la couleur Volet sur le gris clair et le Niveau sur la seconde graduation.
    
    ![Snippet montrant le volet de mise en forme avec les paramètres corrects pour les bordures](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_desktopborders.png)
10. Double-cliquez sur l’onglet de feuille au bas et renommez-le **Bed Use by Hour** (Occupation des lits par heure).

Cette vue nous permet de voir rapidement quand un lit donné était occupé ou vacant.

![Vue montrant l’utilisation de lit par heure](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_desktopbeduse.png)

Mais nous pouvons aller plus loin et compter le nombre d’heures pendant lesquelles chaque lit était inoccupé.

1. Sélectionnez l’icône ![Icône Nouvelle feuille de calcul.](/tableau/current/fr-fr/prep/fr-fr/Img/newsheet.png) de l’onglet de nouvelle feuille en bas pour ouvrir une nouvelle feuille.
2. Faites glisser **Patient** vers Lignes.
3. Faites glisser **Hour** vers Colonnes. Faites un clic droit sur la pile Hour pour ouvrir le menu. Choisissez Mesure \> Total.
4. Faites glisser une autre copie du champ **Patient** depuis le volet Données vers l’étagère Couleur.
5. Faites un clic droit sur l’axe et sélectionnez Modifier l’axe. Modifiez le titre sur **Hours** et fermez la boîte de dialogue.
6. Renommez l’onglet de la feuille **Bed Hours by Patient**.

![Vue montrant les heures de lit par patient](/tableau/current/fr-fr/prep/fr-fr/Img/prep_tutorial_hb_desktoppatientbeds.png)

Cette vue nous permet d’identifier le nombre d’heures de lits inoccupés, ce que nous ne pouvions pas faire avec l’ensemble de données d’origine. Quels autres graphiques ou tableaux de bord pouvez-vous créer ? Lancez-vous maintenant que vos données présentent la structure correcte.  

## Récapitulatif et ressources

Pour créer cette structure de données à l’aide de Tableau Prep, nous avons dû effectuer les actions suivantes :

1. Créer un ensemble de données pour chaque aspect que nous souhaitons analyser, dans ce cas **Beds** et **Hours**.
2. Effectuer une jointure croisée de ces ensemble de données afin de créer un ensemble de données **Bed Hour Matrix** avec chaque combinaison possible de lits et d’heures.
3. Lier **Bed Hour Matrix** avec les données **Patient Bed**, en s’assurant que la jointure conserve tous les emplacements lits-heures et que les clauses de jointure associent correctement les données de lits de patients avec les emplacements lits-heures.

Nous avons utilisé les calculs suivants pour créer des champs pour la jointure. Le second et le troisième extraient les informations d’heures à partir des champs date/heure d’origine.

- **Jointure croisée** = `1`
    - Affecte simplement la valeur 1 à chaque ligne
- **Heure de début** = `DATEPART('hour',[Start Time])`
    - Ce calcul prend l’heure de début et l’extrait. De ce fait, « 1/1/18 9:35 AM » devient simplement « 9 ».
- **Heure de fin** = `IFNULL(DATEPART('hour',[End Time]), 24)`
    - Nous pourrions utiliser `DATEPART('hour',[End Time])`, comme nous l’avions fait pour **Heure de début**. Ce calcul prend l’heure de fin, et l’extrait. Ainsi, « 1/1/18 4:34 PM » devient simplement « 4 ».
    - Mais nous souhaitons indiquer que le lit de patient qui est encore occupé (pas d’heure de fin) est utilisé, et non pas vacant. Pour cela, nous affectons une heure de fin de 24 (minuit) en l’absence d’heure de fin à l’aide de la fonction `IFNULL`. Si le premier argument `DATEPART('hour',[End Time])` est null, le calcul renvoie « 24 » à la place.

**Remarque** : vous souhaitez vérifier votre travail ? Téléchargez le fichier de flux complet Tableau Prep ([Hospital Beds.tflx](https://mkt.tableau.com/PrepTutorials/Hospital%20Beds.tflx)) et le fichier de classeur complet Tableau Desktop ([Hospital Beds.twbx](https://mkt.tableau.com/PrepTutorials/Hospital%20Beds.twbx)).

**Ressources** : besoin d’une formation supplémentaire ? Suivre une [formation en présentiel](https://www.tableau.com/fr-fr/learn/classroom/prep). Vous voulez en savoir plus sur les fonctionnalités que nous avons traitées ? Consultez les autres rubriques dans l’aide en ligne de Tableau Prep. Vous recherchez des ressources supplémentaires ? Le billet de blog [Master Tableau Prep with this list of learning resources](https://www.tableau.com/fr-fr/about/blog/2018/7/master-tableau-prep-list-learning-resources-92064) est là pour vous aider.