Wie können einstellbare Variablen im Diagramm verfügbar sein, damit sich das Diagramm in Echtzeit anpasst? (Neuberechnung, interaktiv, Sensitivitätsanalyse)Ich bin mir nicht sicher, wie ich es nennen soll.Vielleicht können Tabellenvariablen dies tun. Vielleicht kann Prediction Profiler das.
Am Ende möchte ich eine Formelspalte ABC-Klasse, die das Ergebnis von mindestens zwei der sogenannten "globalen Parameter" ist.Die grundlegende ABC-SKU-Klassifizierung legt Grenzwerte als Gesamtsumme aller SKUs fest, die den Umsatz %s festlegen.As sollten 80 % des Umsatzes sein, Bs 15 % und Cs 5 %.In diesem Beispiel mache ich es noch einfacher, sagen wir, die SKU wird durch die Verkäufe dieser SKU als A, B oder C klassifiziert.
Im Beispiel unten gibt es drei Regeln (die ich nicht als Formel kodiert habe), die durch zwei Parameter festgelegt werden.
- SKUs mit einem Umsatz von mehr als 1000 -> A
- SKUs mit einem Umsatz von mehr als 100 -> B
- Der Rest ->C
Beispiel Datentabelle
//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>Beispielbild.Es wäre großartig, wenn ich einen Schieberegler für die beiden angezeigten Variablen eingeben oder haben könnte.
Im Beispiel unten gibt es drei Regeln (die ich nicht als Formel kodiert habe), die durch zwei Parameter (Cutoff AB und Cutoff BC) festgelegt werden.
- SKUs mit Verkäufen von mehr als 1000 -> A, dann zeige ich das Ergebnis und ändere es auf 1500
- SKUs mit Verkäufen von mehr als 100 -> B, dann zeige ich das Ergebnis und ändere es auf 150
- Der Rest ->C

Vielen Dank.
Betreff: Wie kann man einstellbare Variablen im Diagramm verfügbar haben, damit sich das Diagramm in Echtzeit anpasst? (Neuberechnung, interaktiv, Sensitivitätsanalyse)Das Beispiel war eine enorme Hilfe.Mit Ihrer Hilfe konnte ich genau das erreichen, was ich mir vorgestellt hatte. Vielen Dank.
Folgendes habe ich letztendlich getan, um mehrere Schieberegler zu erhalten und das globale Feld rechts neben dem Schieberegler zu haben.
//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 );

Betreff: Wie kann man einstellbare Variablen im Diagramm verfügbar haben, damit sich das Diagramm in Echtzeit anpasst? (Neuberechnung, interaktiv, Sensitivitätsanalyse)Wenn Sie keinen Vergleich zweier verschiedener Klassifikatoren wünschen, brauchen Sie nur:
- eine Formel für die Spalte :ABC Class, die die beiden Tabellenvariablen Cutoff AB und Cutoff BC verwendet
- Das GraphBuilder-Skript ohne die Overlay-Variable :Classifier
Keine Notwendigkeit, die Tabelle neu zu strukturieren (verketten usw.). Dies ist ein viel einfacheres Problem.
Betreff: Wie kann man einstellbare Variablen im Diagramm verfügbar haben, damit sich das Diagramm in Echtzeit anpasst? (Neuberechnung, interaktiv, Sensitivitätsanalyse)@gzmorgan0 Danke, ich werde die Beispiele überprüfen.
Basierend auf der Lektüre der Antwort sollte ich klarstellen, dass ich nicht versucht habe, den Strom und die Spekulation gleichzeitig zu zeigen, sondern einfach, um die Grafik (zusammenfassende Statistik) zu aktualisieren, wenn sich die Parameter AB und BC ändern.Betreff: Wie kann man einstellbare Variablen im Diagramm verfügbar haben, damit sich das Diagramm in Echtzeit anpasst? (Neuberechnung, interaktiv, Sensitivitätsanalyse)@BSwid , Ihr Diagramm mit GraphBuilder ist komplex, da es so viele dynamische Komponenten gibt und die beste Methode von der Verwendung abhängt.Wenn dieses Diagramm beispielsweise von anderen verwendet werden soll, könnten sie die GraphBuider-Zusammenfassungsstatistik für den Umsatz so ändern, dass sie Max oder MIn o Std Dev anstelle des Mittelwerts ist.Mit anderen Worten, es gibt die zusätzliche Komplexität der Wartung der Funktionen von GraphBuilder.
Wenn diese zusammenfassende Statistik nicht dynamisch wäre, könnte dies durch Hinzufügen einer benutzerdefinierten Funktion zur Framebox des GB erreicht werden. Es würde die Berechnung des Mittelwerts für jede Cutoff-Änderung erfordern. und Neuzeichnen des Graphen. Wenn jedoch Zeilen ausgeschlossen würden, müssten Sie einen Zeilenstatus-Handler skripten, damit Ihre speziellen Balken berechnet werden. Auch kann für X-Group eine andere Spalte gewählt werden etc., dann könnte die dynamische Slider-Oberfläche Probleme bekommen.
Wenn ich eine JMP-Plattform verwende, ziehe ich es vor, die Funktionen von JMP zu verwenden, auch wenn dies eine Umstrukturierung der Tabelle erfordert.Damit GB diese verschachtelten Balken zeichnen kann, muss eine Variable vorhanden sein, um die aktuellen Balken und dann die spekulierten Balken anzugeben, die als Überlagerung verwendet werden, und die Balken können nebeneinander oder verschachtelt sein. Aus Ihrer Zeichnung habe ich verschachtelt gewählt, aber mit diesem Skript können Sie das ändern,
Um Ihre Daten umzustrukturieren, benötigen Sie 2 Kopien, das Original und die spekulierten Werte. Die von mir gewählte Methode bestand darin, die Tabelle mit sich selbst zu verketten. Dieses Skript geht davon aus, dass die aktuelle Klassifizierung aus einem Skript stammt, andernfalls müsste die definierte Formel geändert werden und erfordert wahrscheinlich eine neue Spalte.

Anbei 3 Dateien:
- Originaltisch, SKU-Beispiel.jmp
- modifizierte Tabelle SKU-Beispiel_Final.jmp Hinweis: Das Skript zum Erstellen des interaktiven GB ist dieser Tabelle beigefügt
- Skript, SKU script.jsl öffnet die ursprüngliche Tabelle von c:\temp. Sie müssen Ihren Pfad ändern.Dieses Skript restrukturiert die Tabelle und zeichnet den dynamischen Graphen.
Hinweis: Es ist möglicherweise einfacher, einfach ein dynamisches benutzerdefiniertes Diagramm zu erstellen, das eine feste Zusammenfassungsstatistik und keinen anderen Schnickschnack enthält, der gepflegt werden muss. Diese Methode wurde verwendet, um die Probleme beim Skripten eines benutzerdefinierten dynamischen Widgets mit GraphBuilder zu dokumentieren.
Viel Glück.
Betreff: Wie kann man einstellbare Variablen im Diagramm verfügbar haben, damit sich das Diagramm in Echtzeit anpasst? (Neuberechnung, interaktiv, Sensitivitätsanalyse)
@BSwid schrieb:
Ich bin mir nicht sicher, wie ich es nennen soll.Vielleicht können Tabellenvariablen dies tun. Vielleicht kann Prediction Profiler das.
Am Ende möchte ich eine Formelspalte ABC-Klasse, die das Ergebnis von mindestens zwei der sogenannten "globalen Parameter" ist.Die grundlegende ABC-SKU-Klassifizierung legt Grenzwerte als Gesamtsumme aller SKUs fest, die den Umsatz %s festlegen.As sollten 80 % des Umsatzes sein, Bs 15 % und Cs 5 %.In diesem Beispiel mache ich es noch einfacher, sagen wir, die SKU wird durch die Verkäufe dieser SKU als A, B oder C klassifiziert.
Im Beispiel unten gibt es drei Regeln (die ich nicht als Formel codiert habe), die durch zwei Parameter festgelegt werden.
- SKUs mit einem Umsatz von mehr als 1000 -> A
- SKUs mit einem Umsatz von mehr als 100 -> B
- Der Rest ->C
Beispiel Datentabelle
//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>Beispielbild.Es wäre großartig, wenn ich einen Schieberegler für die beiden angezeigten Variablen eingeben oder haben könnte.
Im Beispiel unten gibt es drei Regeln (die ich nicht als Formel kodiert habe), die durch zwei Parameter (Cutoff AB und Cutoff BC) festgelegt werden.
- SKUs mit Verkäufen von mehr als 1000 -> A, dann zeige ich das Ergebnis und ändere es auf 1500
- SKUs mit Verkäufen von mehr als 100 -> B, dann zeige ich das Ergebnis und ändere es auf 150
- Der Rest ->C

Vielen Dank.
Ich habe versucht, die Tabellenvariablen :AB und :BC zu setzen. und dann versucht, die zu ändern Eier und Speck Beispiel aus dem jsl kochbuch.
Aber wenn ich versuche, den Schieberegler zu bewegen, erhalte ich eine Fehlermeldung.

//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>(Ich denke) Ich möchte, dass der Schieberegler die Tabellenvariable aktualisiert, wodurch die Formel in der Datentabelle und damit das Diagramm aktualisiert wird.
Ich bin mir sicher, dass ich diese Linie brauchen werde.
gb<<INVAL></INVAL>
Betreff: Wie kann man einstellbare Variablen im Diagramm verfügbar haben, damit sich das Diagramm in Echtzeit anpasst? (Neuberechnung, interaktiv, Sensitivitätsanalyse)Ich habe versucht, die Tabellenvariablen :AB und :BC zu setzen. und dann versucht, die zu ändern Eier und Speck Beispiel aus dem jsl kochbuch.
Aber wenn ich versuche, den Schieberegler zu bewegen, erhalte ich eine Fehlermeldung.

//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>(Ich denke) Ich möchte, dass der Schieberegler die Tabellenvariable aktualisiert, wodurch die Formel in der Datentabelle und damit das Diagramm aktualisiert wird.
Ich bin mir sicher, dass ich diese Linie brauchen werde.
gb<<INVAL></INVAL>