Comment avoir des variables ajustables disponibles dans le graphique pour que le graphique s'ajuste en temps réel ? (recalculé, interactif, analyse de sensibilité)Je ne sais pas comment l'appeler.Peut-être que les variables de table peuvent le faire. Peut-être que le profileur de prédiction le peut.
En fin de compte, je voudrais une colonne de formule ABC Class qui résulte d'au moins deux de ce que j'appellerai des "paramètres globaux".La classification de base des SKU ABC définit les seuils comme la somme agrégée de tous les %s de revenus définis pour les SKU.Comme cela devrait être 80 % des revenus, Bs 15 % et Cs 5 %.Pour cet exemple, je vais le rendre encore plus simple, disons que le SKU est classé comme A, B ou C par les ventes sur ce SKU.
Dans l'exemple ci-dessous, il y a trois règles (que je n'ai pas codées sous forme de formule), définies par deux paramètres.
- SKU avec des ventes de plus de 1000 -> A
- SKU avec des ventes de plus de 100 -> B
- Le reste ->C
Exemple de tableau de données
//create datatable
dt = New Table( "Slider Test",
Add Rows( 26 ),
Set Header Height( 47 ),
New Column( "SKU",
Character,
"Nominal",
Set Selected,
Set Values(
{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
)
),
New Column( "Sales",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[98, 64, 120, 397, 93, 58, 196, 700, 674, 229, 607, 55, 590, 169, 1449,
1236, 143, 1714, 364, 404, 226, 1300, 1105, 144, 1391, 1893]
),
Set Display Width( 94 )
),
New Column( "ABC Class",
Character,
"Nominal",
Set Values(
{"C", "C", "B", "B", "C", "C", "B", "B", "B", "B", "B", "C", "B", "B",
"A", "A", "B", "A", "B", "B", "B", "A", "A", "B", "A", "A"}
),
Set Display Width( 70 )
)
);
//create graph
dt <<GRAPH builder=""></GRAPH>Exemple d'image.Ce serait formidable si je pouvais taper ou avoir un curseur pour les deux variables affichées.
Dans l'exemple ci-dessous, il y a trois règles (que je n'ai pas codées sous forme de formule), définies par deux paramètres (cutoff AB et cutoff BC).
- SKU avec des ventes de plus de 1000 -> A puis je montre le résultat en le changeant en 1500
- SKU avec des ventes de plus de 100 -> B puis je montre le résultat en le changeant à 150
- Le reste ->C

Merci.
Re : Comment avoir des variables ajustables disponibles dans le graphique pour que le graphique s'ajuste en temps réel ? (recalculé, interactif, analyse de sensibilité)L'exemple a été d'une aide précieuse.J'ai pu réaliser exactement ce que j'imaginais avec votre aide. Merci.
Voici ce que j'ai fini par faire pour obtenir plusieurs curseurs et avoir la boîte globale à droite du curseur.
//graph builder code above here (not shown)
//code for slider below
//number of months of demand variables
ab = dt:Cutoff AB;
bc = dt:Cutoff BC;
//CoV variables
CoV1 = dt:CoV1;
CoV2 = dt:CoV2;
:ABC Class << Suppress Eval( 0 );
specBox = H List Box(
V List Box(
//number of months of demand
H List Box(
Slider Box(
0,
12,
ab,
dt:Cutoff AB = ab;
dt << rerun formulas;
),
Text Box( "Months of demand" )
),
H List Box(
Slider Box(
0,
12,
bc,
dt:Cutoff BC = bc;
dt << rerun formulas;
),
Text Box( "Months of demand" )
),
//CoV
H List Box(
Slider Box(
0,
4,
CoV1,
dt:CoV1 = CoV1;
dt << rerun formulas;
),
Text Box( "COV" )
),
H List Box(
Slider Box(
0,
4,
CoV2,
dt:CoV2 = CoV2;
dt << rerun formulas;
),
Text Box( "COV" )
),
),//end V list box 1
//display the variables
V List Box(
Global Box( ab ),
Global Box( bc ),
Global Box( CoV1 ),
Global Box( CoV2 )
)//end V list box2
);//end H list box
(Report( gb )[Picture Box( 1 )] << Parent) << Append( specBox );

Re : Comment avoir des variables ajustables disponibles dans le graphique pour que le graphique s'ajuste en temps réel ? (recalculé, interactif, analyse de sensibilité)Si vous ne voulez pas une comparaison de deux classificateurs différents, alors tout ce dont vous avez besoin est :
- une formule pour la colonne :Classe ABC qui utilise les deux variables de table Cutoff AB et Cutoff BC
- Le script GraphBuilder sans la variable de superposition :Classifier
Pas besoin de restructurer la table (concaténer etc.) C'est un problème beaucoup plus simple.
Re : Comment avoir des variables ajustables disponibles dans le graphique pour que le graphique s'ajuste en temps réel ? (recalculé, interactif, analyse de sensibilité)@gzmorgan0 Merci je vais revoir les exemples.
Sur la base de la lecture de la réponse, je dois préciser que je n'essayais pas de montrer le courant et de spéculer en même temps, simplement pour que le graphique (statistique récapitulative) soit mis à jour lorsque les paramètres AB et BC changent.Re : Comment avoir des variables ajustables disponibles dans le graphique pour que le graphique s'ajuste en temps réel ? (recalculé, interactif, analyse de sensibilité)@BSwid , votre graphique utilisant GraphBuilder est complexe car il y a tellement de composants dynamiques, et quelle est la meilleure méthode dépend de l'utilisation.Par exemple, si ce graphique doit être utilisé par d'autres, ils peuvent modifier la statistique récapitulative GraphBuider pour les ventes en Max ou MIn o Std Dev au lieu de la moyenne.En d'autres termes, il y a la complexité supplémentaire de maintenir les fonctionnalités de GraphBuilder.
Si cette statistique récapitulative n'était pas dynamique, cela pourrait être réalisé en ajoutant une fonction personnalisée à la framebox du GB. Il faudrait calculer la moyenne pour chaque changement de seuil. et redessiner le graphique. Cependant, si des lignes étaient exclues, vous auriez besoin de scripter un gestionnaire d'état de ligne pour que vos barres spéciales soient calculées. De plus, une autre colonne peut être choisie pour X-Group , etc., l'interface du curseur dynamique pourrait alors avoir des problèmes.
Lorsque j'utilise une plate-forme JMP, je préfère utiliser les fonctionnalités de JMP même si cela nécessite de restructurer la table pour le faire.Pour que GB dessine ces barres imbriquées, il doit y avoir une variable pour spécifier les barres actuelles, puis les barres spéculées, qui seraient utilisées comme superposition, et les barres peuvent être côte à côte ou imbriquées. D'après votre dessin, j'ai choisi imbriqué, mais avec ce script, vous pouvez changer cela,
Pour restructurer vos données, vous avez besoin de 2 copies, l'original et les valeurs spéculées. La méthode que j'ai choisie était de concaténer la table avec elle-même. Ce script suppose que la classification actuelle provient d'un script, sinon la formule définie devrait être modifiée et nécessiterait probablement une nouvelle colonne.

Ci-joint 3 fichiers :
- tableau d'origine, Exemple de SKU.jmp
- tableau modifié SKU Example_Final.jmp Remarque : Le script pour créer le GB interactif est joint à ce tableau
- scénario, SKU script.jsl ouvre la table d'origine à partir de c:\temp. vous devrez modifier votre chemin.Ce script restructure le tableau et dessine le graphe dynamique.
Remarque : il peut être plus facile de créer simplement un graphique personnalisé dynamique, qui a une statistique récapitulative fixe et aucune autre cloche et sifflet à maintenir. Cette méthode a été utilisée pour documenter les problèmes de script d'un widget dynamique personnalisé avec GraphBuilder.
Bonne chance.
Re : Comment avoir des variables ajustables disponibles dans le graphique pour que le graphique s'ajuste en temps réel ? (recalculé, interactif, analyse de sensibilité)
@BSwid a écrit:
Je ne sais pas comment l'appeler.Peut-être que les variables de table peuvent le faire. Peut-être que le profileur de prédiction le peut.
En fin de compte, je voudrais une colonne de formule ABC Class qui résulte d'au moins deux de ce que j'appellerai des "paramètres globaux".La classification de base des SKU ABC définit les seuils comme la somme agrégée de tous les %s de revenus définis pour les SKU.Comme cela devrait être 80 % des revenus, Bs 15 % et Cs 5 %.Pour cet exemple, je vais le rendre encore plus simple, disons que le SKU est classé comme A, B ou C par les ventes sur ce SKU.
Dans l'exemple ci-dessous, il y a trois règles (que je n'ai pas codées sous forme de formule), définies par deux paramètres.
- SKU avec des ventes de plus de 1000 -> A
- SKU avec des ventes de plus de 100 -> B
- Le reste ->C
Exemple de tableau de données
//create datatable
dt = New Table( "Slider Test",
Add Rows( 26 ),
Set Header Height( 47 ),
New Column( "SKU",
Character,
"Nominal",
Set Selected,
Set Values(
{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
)
),
New Column( "Sales",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[98, 64, 120, 397, 93, 58, 196, 700, 674, 229, 607, 55, 590, 169, 1449,
1236, 143, 1714, 364, 404, 226, 1300, 1105, 144, 1391, 1893]
),
Set Display Width( 94 )
),
New Column( "ABC Class",
Character,
"Nominal",
Set Values(
{"C", "C", "B", "B", "C", "C", "B", "B", "B", "B", "B", "C", "B", "B",
"A", "A", "B", "A", "B", "B", "B", "A", "A", "B", "A", "A"}
),
Set Display Width( 70 )
)
);
//create graph
dt <<GRAPH builder=""></GRAPH>Exemple d'image.Ce serait formidable si je pouvais taper ou avoir un curseur pour les deux variables affichées.
Dans l'exemple ci-dessous, il y a trois règles (que je n'ai pas codées sous forme de formule), définies par deux paramètres (cutoff AB et cutoff BC).
- SKU avec des ventes de plus de 1000 -> A puis je montre le résultat en le changeant en 1500
- SKU avec des ventes de plus de 100 -> B puis je montre le résultat en le changeant à 150
- Le reste ->C

Merci.
J'ai essayé de définir les variables de table :AB et :BC. puis j'ai essayé de modifier exemple d'œufs et de bacon du livre de cuisine jsl.
Mais lorsque j'essaie de déplacer le curseur, j'obtiens une erreur.

//use table variables instead :AB & :BC
//Eggs = 50; // :AB
//Bacon = 50; // :BC
//window
New Window( "Slider Display",
Border Box( Left( 10 ), Right( 10 ), top( 10 ), bottom( 10 ),
V List Box(
H List Box(
Text Box( "AB" ), // slider label
ABsb = Slider Box( 0, 2000, :AB, // slider script follows...
ABnb << set( :AB ); // update the value
// this example doesn't need any other interactive
// update. You could do some other work here, using
// the slider's value to change a graph, perhaps.
),
// text box to hold the slider's value...
ABnb = Number Edit Box( :AB, <<SETFUNCTION></SETFUNCTION>(Je pense) Je veux que la boîte de curseur mette à jour la variable de table, qui met à jour la formule dans la table de données et donc le graphique.
Je suis certain que j'aurai besoin de cette ligne.
gb<<INVAL></INVAL>
Re : Comment avoir des variables ajustables disponibles dans le graphique pour que le graphique s'ajuste en temps réel ? (recalculé, interactif, analyse de sensibilité)J'ai essayé de définir les variables de table :AB et :BC. puis j'ai essayé de modifier exemple d'œufs et de bacon du livre de cuisine jsl.
Mais lorsque j'essaie de déplacer le curseur, j'obtiens une erreur.

//use table variables instead :AB & :BC
//Eggs = 50; // :AB
//Bacon = 50; // :BC
//window
New Window( "Slider Display",
Border Box( Left( 10 ), Right( 10 ), top( 10 ), bottom( 10 ),
V List Box(
H List Box(
Text Box( "AB" ), // slider label
ABsb = Slider Box( 0, 2000, :AB, // slider script follows...
ABnb << set( :AB ); // update the value
// this example doesn't need any other interactive
// update. You could do some other work here, using
// the slider's value to change a graph, perhaps.
),
// text box to hold the slider's value...
ABnb = Number Edit Box( :AB, <<SETFUNCTION></SETFUNCTION>(Je pense) Je veux que la boîte de curseur mette à jour la variable de table, qui met à jour la formule dans la table de données et donc le graphique.
Je suis certain que j'aurai besoin de cette ligne.
gb<<INVAL></INVAL>