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édation le peut.
En fin de compte, je voudrais une classe ABC de colonne de formules qui soit le résultat d'au moins deux de ce que j'appellerai des "paramètres globaux".La classification ABC SKU de base définit les seuils comme la somme globale de tous les SKU définis en %s de revenus.Comme cela devrait être 80 % des revenus, Bs 15 % et Cs 5 %.Pour cet exemple, je vais rendre les choses encore plus simples, disons que le SKU est classé comme A, B ou C en fonction des 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 table 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 génial 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 (seuil AB et seuil BC).
- SKU avec des ventes de plus de 1000 -> A puis je montre le résultat en le changeant à 1500
- SKU avec des ventes supérieures à 100 -> B puis je montre le résultat en le modifiant à 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 souhaitez pas comparer deux classificateurs différents, il vous suffit de :
- 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 d'afficher le courant et le spéculé en même temps, simplement de mettre à jour le graphique (statistique récapitulative) à mesure que 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 la meilleure méthode dépend de l'utilisation.Par exemple, si ce graphique doit être utilisé par d'autres, ils pourraient modifier la statistique récapitulative de GraphBuider pour les ventes pour qu'elle soit la valeur Max ou MIn ou 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 au framebox du GB. Cela nécessiterait de calculer la moyenne pour chaque changement de seuil. et redessiner le graphique. Cependant, si les lignes étaient exclues, vous devrez créer un script pour un gestionnaire d'état de ligne afin 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 plateforme JMP, je préfère utiliser les fonctionnalités de JMP même si cela nécessite de restructurer la table pour ce faire.Pour que GB puisse dessiner 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 part de l'hypothèse 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 original, Exemple de SKU.jmp
- tableau modifié SKU Exemple_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 graphique dynamique.
Remarque : il peut être plus facile de simplement créer un graphique personnalisé dynamique, comportant une statistique récapitulative fixe et aucune autre fonctionnalité à gérer. Cette méthode a été utilisée pour documenter les problèmes liés à la création de scripts pour 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édation le peut.
En fin de compte, je voudrais une classe ABC de colonne de formules qui soit le résultat d'au moins deux de ce que j'appellerai des "paramètres globaux".La classification ABC SKU de base définit les seuils comme la somme globale de tous les SKU définis en %s de revenus.Comme cela devrait être 80 % des revenus, Bs 15 % et Cs 5 %.Pour cet exemple, je vais rendre les choses encore plus simples, disons que le SKU est classé comme A, B ou C en fonction des 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 table 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 génial 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 (seuil AB et seuil BC).
- SKU avec des ventes de plus de 1000 -> A puis je montre le résultat en le changeant à 1500
- SKU avec des ventes supérieures à 100 -> B puis je montre le résultat en le modifiant à 150
- Le reste ->C

Merci.
J'ai essayé de définir les variables de table :AB et :BC. puis j'ai essayé de modifier le exemple d'œufs et de bacon du livre de recettes 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 le curseur mette à jour la variable du tableau, ce qui met à jour la formule dans le tableau 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 le exemple d'œufs et de bacon du livre de recettes 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 le curseur mette à jour la variable du tableau, ce qui met à jour la formule dans le tableau de données et donc le graphique.
Je suis certain que j'aurai besoin de cette ligne.
gb<<INVAL></INVAL>