Graph Builder, Pie plot : Comment conserver tous les éléments d'un groupe lors d'un filtrage sur des groupes qui ont un élément spécifique ?Salut,
Je recherche de l'aide pour le Graphic Builder. J'utilise JMP 16.2.0.
Je vais utiliser un tableau avec deux colonnes (Recette, Ingrédient) comme exemple. Une recette est composée de plusieurs ingrédients, et un ingrédient peut être utilisé dans plusieurs recettes. Le tableau est fourni dans les pièces jointes.
Dans le générateur de graphiques, je mets la recette dans le groupe X, l'ingrédient dans X et je choisis un graphique à secteurs pour voir quel ingrédient est utilisé dans quelle recette.

Ce que je voudrais faire, c'est sélectionner un ingrédient et il conservera les diagrammes circulaires de toutes les recettes qui utilisent cet ingrédient. Les diagrammes circulaires doivent afficher tous leurs ingrédients.
Par exemple, je souhaite voir toutes les recettes qui utilisent du lait. Si j'ajoute un filtre de données locales sur la recette, le graphique à secteurs n'affichera pas tous les ingrédients de la béchamel et des crêpes.

Ce que j'aimerais avoir comme résultat est quelque chose comme ceci :

Existe-t-il un moyen simple de faire cela, sans écrire de JSL ? Nous pouvons modifier la table ou travailler avec le Graph Builder.
Merci !
Exploration et visualisation des donnéesRe: Graph Builder, Pie plot : Comment conserver tous les éléments d'un groupe lors d'un filtrage sur des groupes qui ont un élément spécifique ?Je ne sais pas si vous pouvez le faire dans JMP16 (j'utilise JMP18), mais vous pouvez créer plusieurs colonnes de réponses de vos ingrédients


Tableau attaché avec script de tableau
Re: Graph Builder, Pie plot : Comment conserver tous les éléments d'un groupe lors d'un filtrage sur des groupes qui ont un élément spécifique ?Merci pour la réponse, c'est en effet une excellente solution.
Malheureusement, cela ne fonctionne pas dans JMP 16.

Je suppose que nous devrons mettre à jour vers une version plus récente !
Re: Graph Builder, Pie plot : Comment conserver tous les éléments d'un groupe lors d'un filtrage sur des groupes qui ont un élément spécifique ?Le script est également une option, mais vous avez dit que vous souhaitiez l'éviter. Voici donc peut-être une option qui pourrait fonctionner dans JMP16 (elle peut être un peu difficile à utiliser en raison de l'utilisation de l'état de la ligne de sélection). Si vous pouvez utiliser le filtre de données au lieu du filtre de données local, vous pouvez faire quelque chose comme ceci
Créer une colonne de formule comme

Col Sum(Selected(), :Recipe) >= 1
Créer un filtre de données (PAS DE FILTRE DE DONNÉES LOCAL) avec l'ingrédient

Créez votre graphique AVEC filtre de données local en utilisant votre colonne de formule nouvellement créée et définissez la valeur sur 1

Vous pouvez ensuite réduire le filtre de données local et organiser les fenêtres côte à côte

Une chose un peu ennuyeuse ici est qu'il y aura une sélection et cela gâchera si quelque chose est sélectionné dans la table / en dehors du filtre de données.
Re: Graph Builder, Pie plot : Comment conserver tous les éléments d'un groupe lors d'un filtrage sur des groupes qui ont un élément spécifique ?Si vous modifiez la table de données avec de nouvelles lignes et une nouvelle colonne, je peux la faire fonctionner dans JMP 16. Vous devez créer une nouvelle ligne pour chaque combinaison d'ingrédients pour chaque ingrédient de la recette. Donc pour la béchamel qui contient du lait, de la farine et du beurre

il doit être étendu à


Et voici un script qui va générer la table de données étendue
names default to here(1);
dt=current data table();
// Start the new table
dtOut = New Table( "Expanded",
New Column( "Recipe", Character ),
New Column( "Ingredient", Character ),
New Column( "Ingredients", Character )
);
// Find the different Recipies
summarize( dt, Recipies = By(:Recipe));
// Loop through the recipies
For Each( {rec}, Recipies,
// Find the ingredients for the current recipe
dt << select where(:Recipe == rec );
dtTemp = dt << subset( selected columns(0), selected rows(1));
summarize( dtTemp, ingre=by(:ingredient));
// Loop across each ingredient and add the rows to the data table
For Each( {item}, ingre,
dtTemp << New Column("Ingredients", character, set each value(item));
dtOut << concatenate( dtTemp, Append to First Table(1) );
dtTemp << delete columns(:Ingredients);
);
close( dtTemp, nosave );
);Re: Graph Builder, Pie plot : Comment conserver tous les éléments d'un groupe lors d'un filtrage sur des groupes qui ont un élément spécifique ?GraphBuilder + Réponse Multiple : TRÈS (!) utile !
il est disponible avec JMP17 : Nouveau dans JMP 17 et JMP Pro 17 - Quelques points forts VERSION ORIGINALE ANGLAISE
La mise à jour est gratuite. Peut-être que vous pouvez suivre 2 étapes et obtenir toutes les fonctionnalités intéressantes de JMP18 ?
Re: Graph Builder, Pie plot : Comment conserver tous les éléments d'un groupe lors d'un filtrage sur des groupes qui ont un élément spécifique ?Merci à vous deux @jthi @txnelson pour vos solutions créatives, j'adapterai le script à mes données réelles et l'exécuterai si nécessaire.
@hogi je vais faire pression pour une mise à jour de JMP !
Passez une bonne semaine !