BASE DE CONNAISSANCES

Choix manuel du nombre de compartiments dans un ensemble de données spécifique


Date de publication : 22 Dec 2016
Date de dernière modification : 20 Jul 2023

Question

Comment définir le nombre de compartiments avec un nombre (restant) égal d'éléments dans chaque compartiment.

Environnement

Tableau Desktop

Réponse

CLIQUER POUR DÉVELOPPER LES ÉTAPES
Étape 1 : Créer un champ calculé pour Index de manière à afficher un classement à partir de 1
  1. Sélectionnez Analyse > Créer un champ calculé.
  2. Dans la zone de texte Nom, saisissez « Index ».
  3. Dans la zone de texte Formule, saisissez :
    INDEX()
    
  4. Lorsque vous avez terminé, cliquez sur OK.
CLIQUER POUR DÉVELOPPER LES ÉTAPES
Étape 2 : Créer un paramètre pour le nombre de classes par lequel diviser la dimension que vous avez choisie
  1. Dans la fenêtre Données, cliquez sur la flèche déroulante en haut à droite de Dimensions, puis sélectionnez Créer > Paramètre
  2. Dans la zone de texte Nom, saisissez « Number of Bins ».
  3. Sous Type de données, sélectionnez Entier.
  4. Dans la zone de texte Valeur actuelle, entrez un nombre (par exemple, 50).
  5. Sélectionnez Plage.
    • Sélectionnez Minimum et Maximum (par exemple, entre 1 et 100)
  6. Une fois que vous avez terminé, cliquez sur OK.
Remarque : le nombre de compartiments étant un nombre entier, choisissez Entier. Vous souhaiterez peut-être sélectionner soit une Liste (si vous avez des nombres spécifiques de classes), soit une Plage (si vous recherchez davantage de flexibilité dans la détermination du nombre de classes à créer).
 
CLIQUER POUR DÉVELOPPER LES ÉTAPES
Étape 3 : Créer un champ calculé pour définir la taille des classes
  1. Sélectionnez Analyse > Créer un champ calculé.
  2. Dans la zone de texte Nom, saisissez « Size of Each Bin ».
  3. Dans la zone de texte Formule, saisissez la formule ci-dessous, puis cliquez sur OK.
    IF ([Number of Bins]/SIZE()>.5) AND (([Number of Bins]-1)/SIZE()<.5)
    THEN 2
    ELSEIF [Number of Bins]/SIZE()>.5
    THEN 1
    ELSEIF ROUND((SIZE()/[Number of Bins])-10^(-10), 0) !=INT(SIZE()/[Number of Bins]) THEN
    INT((SIZE()/([Number of Bins])))+ 1
    ELSE
    INT((SIZE()/([Number of Bins])))
    END
    
CLIQUER POUR DÉVELOPPER LES ÉTAPES
Étape 4 : Créer un champ calculé pour Index de manière à déterminer le nombre correct de classes à utiliser pour chaque nombre d'éléments choisis
  1. Sélectionnez Analyse > Créer un champ calculé.
  2. Dans la zone de texte Nom, saisissez « Dynamic Bins ».
  3. Dans la zone de texte Formule, saisissez la formule ci-dessous, puis cliquez sur OK.
    IF INT(([Index]-.1)/[Size of Each Bin]) = [Number of Bins] THEN
    INT(([Index]-.1)/[Size of Each Bin])
    ELSEIF INT(([Index]-.1)/[Size of Each Bin]) < [Number of Bins] THEN
    INT(([Index]-.1)/[Size of Each Bin])+1
    ELSE
    [Number of Bins]
    END
    
CLIQUER POUR DÉVELOPPER LES ÉTAPES
Étape 5 : Créer la vue
  1. À l'aide de l'exemple de source de données Superstore, faites glisser une mesure vers Texte.
  2. Faites glisser une dimension vers Lignes.
  3. Faites glisser les champs calculés « Index » et « Size of Each Bin » (Taille de chaque compartiment) vers Détails.
  4. Faites un clic droit sur le paramètre dans la fenêtre Données, puis sélectionnez Afficher la commande de paramètre. La commande de paramètre est maintenant ajoutée à la feuille et est prête à être personnalisée.
  5. Faites un clic droit sur le champ Dynamic Bins, sélectionnez Discret, puis placez-le devant le champ existant sur l'étagère Lignes.
Cette opération s'applique également aux graphiques. Pour créer un graphique à barres à l'aide de la vue que vous avez conçue ci-dessus, il vous suffit de faire glisser le champ Sales depuis Texte vers l'étagère Sales. Vous trouverez un exemple dans le classeur « Choosing the number of bins » (Choix du nombre de compartiments) joint à cet article.

Informations supplémentaires

Pour afficher ces étapes en action, visionnez la vidéo ci-dessous :

Remarque : la vidéo n'a pas de son. 


Cet article vous a-t-il permis de résoudre le problème ?