Wie stehen im Diagramm anpassbare Variablen zur Verfügung, damit sich das Diagramm in Echtzeit anpasst? (Neuberechnung, interaktiv, Sensitivitätsanalyse)Ich weiß nicht, wie ich es nennen soll.Vielleicht können Tabellenvariablen dies tun. Vielleicht kann Predition Profiler das.
Am Ende möchte ich eine Formelspalte ABC-Klasse, die das Ergebnis von mindestens zwei von dem ist, was ich „globale Parameter“ nenne.Die grundlegende ABC-SKU-Klassifizierung legt Grenzwerte als Gesamtsumme aller SKUs fest, die den Umsatz %s festlegen.As sollte 80 % des Umsatzes betragen, Bs 15 % und Cs 5 %.Für dieses Beispiel mache ich es noch einfacher: Nehmen wir an, die SKU wird aufgrund der Verkäufe dieser SKU als A, B oder C klassifiziert.
Im folgenden Beispiel 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
Beispieldatentabelle
//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 die beiden angezeigten Variablen eingeben oder einen Schieberegler dafür haben könnte.
Im folgenden Beispiel gibt es drei Regeln (die ich nicht als Formel codiert habe), die durch zwei Parameter (Grenzwert AB und Grenzwert 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

Danke schön.
Betreff: Wie stehen im Diagramm anpassbare Variablen zur Verfügung, 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. Danke schön.
Folgendes habe ich letztendlich getan, um mehrere Schieberegler zu erhalten und das globale Feld rechts neben dem Schieberegler anzuzeigen.
//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 stehen im Diagramm anpassbare Variablen zur Verfügung, damit sich das Diagramm in Echtzeit anpasst? (Neuberechnung, interaktiv, Sensitivitätsanalyse)Wenn Sie keinen Vergleich zweier verschiedener Klassifikatoren wünschen, benötigen Sie lediglich:
- eine Formel für die Spalte :ABC-Klasse, die die beiden Tabellenvariablen Cutoff AB und Cutoff BC verwendet
- Das GraphBuilder-Skript ohne die Overlay-Variable :Classifier
Es ist nicht erforderlich, die Tabelle neu zu strukturieren (verketten usw.). Dies ist ein viel einfacheres Problem.
Betreff: Wie stehen im Diagramm anpassbare Variablen zur Verfügung, damit sich das Diagramm in Echtzeit anpasst? (Neuberechnung, interaktiv, Sensitivitätsanalyse)@gzmorgan0 Vielen Dank, ich werde die Beispiele noch einmal durchgehen.
Basierend auf der Lektüre der Antwort sollte ich klarstellen, dass ich nicht versucht habe, den aktuellen Stand und die Spekulation gleichzeitig anzuzeigen, sondern lediglich, dass die Grafik (Zusammenfassungsstatistik) aktualisiert wird, wenn sich die Parameter AB und BC ändern.Betreff: Wie stehen im Diagramm anpassbare Variablen zur Verfügung, 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 welche Methode die beste ist, hängt von der Verwendung ab.Wenn dieses Diagramm beispielsweise von anderen verwendet werden soll, könnten sie die GraphBuider-Zusammenfassungsstatistik für Verkäufe so ändern, dass sie auf „Max“ oder „MIn o Std Dev“ statt auf „Mean“ lautet.Mit anderen Worten: Die Pflege der Funktionen von GraphBuilder ist noch komplexer.
Wenn diese zusammenfassende Statistik nicht dynamisch wäre, könnte dies durch Hinzufügen einer benutzerdefinierten Funktion zur Framebox des GB erreicht werden. Es müsste der Mittelwert für jede Cutoff-Änderung berechnet werden. und Neuzeichnen des Diagramms. Wenn jedoch Zeilen ausgeschlossen würden, müssten Sie ein Skript für einen Zeilenstatus-Handler erstellen, damit Ihre speziellen Balken berechnet würden. Auch kann für X-Group usw. eine andere Spalte gewählt werden, dann könnte es bei der dynamischen Slider-Schnittstelle zu Problemen kommen.
Wenn ich eine JMP-Plattform verwende, nutze ich lieber die Funktionen von JMP, auch wenn dafür eine Umstrukturierung der Tabelle erforderlich ist.Damit GB diese verschachtelten Balken zeichnen kann, muss eine Variable vorhanden sein, um die aktuellen Balken und dann die spekulierten Balken anzugeben, die als Overlay verwendet werden. 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 neu zu strukturieren, 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 wahrscheinlich eine neue Spalte erfordern.

Im Anhang sind 3 Dateien:
- Originaltisch, SKU-Beispiel.jmp
- geänderte Tabelle SKU-Beispiel_Final.jmp Hinweis: Das Skript zum Erstellen des interaktiven GB ist dieser Tabelle beigefügt
- Skript, SKU script.jsl öffnet die Originaltabelle von c:\temp. Sie müssen Ihren Pfad ändern.Dieses Skript strukturiert die Tabelle neu und zeichnet das dynamische Diagramm.
Hinweis: Möglicherweise ist es einfacher, einfach ein dynamisches benutzerdefiniertes Diagramm zu erstellen, das über eine feste Zusammenfassungsstatistik verfügt und keinen weiteren Schnickschnack zu pflegen hat. Diese Methode wurde verwendet, um die Probleme bei der Skripterstellung eines benutzerdefinierten dynamischen Widgets mit GraphBuilder zu dokumentieren.
Viel Glück.
Betreff: Wie stehen im Diagramm anpassbare Variablen zur Verfügung, damit sich das Diagramm in Echtzeit anpasst? (Neuberechnung, interaktiv, Sensitivitätsanalyse)
@BSwid schrieb:
Ich weiß nicht, wie ich es nennen soll.Vielleicht können Tabellenvariablen dies tun. Vielleicht kann Predition Profiler das.
Am Ende möchte ich eine Formelspalte ABC-Klasse, die das Ergebnis von mindestens zwei von dem ist, was ich „globale Parameter“ nenne.Die grundlegende ABC-SKU-Klassifizierung legt Grenzwerte als Gesamtsumme aller SKUs fest, die den Umsatz %s festlegen.As sollte 80 % des Umsatzes betragen, Bs 15 % und Cs 5 %.Für dieses Beispiel mache ich es noch einfacher: Nehmen wir an, die SKU wird aufgrund der Verkäufe dieser SKU als A, B oder C klassifiziert.
Im folgenden Beispiel 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
Beispieldatentabelle
//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 die beiden angezeigten Variablen eingeben oder einen Schieberegler dafür haben könnte.
Im folgenden Beispiel gibt es drei Regeln (die ich nicht als Formel codiert habe), die durch zwei Parameter (Grenzwert AB und Grenzwert 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

Danke schön.
Ich habe versucht, die Tabellenvariablen :AB und :BC festzulegen. und habe dann versucht, das zu ändern Beispiel Eier und Speck 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 das Schiebereglerfeld die Tabellenvariable aktualisiert, wodurch die Formel in der Datentabelle und damit das Diagramm aktualisiert wird.
Ich bin mir sicher, dass ich diese Zeile brauchen werde.
gb<<INVAL></INVAL>
Betreff: Wie stehen im Diagramm anpassbare Variablen zur Verfügung, damit sich das Diagramm in Echtzeit anpasst? (Neuberechnung, interaktiv, Sensitivitätsanalyse)Ich habe versucht, die Tabellenvariablen :AB und :BC festzulegen. und habe dann versucht, das zu ändern Beispiel Eier und Speck 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 das Schiebereglerfeld die Tabellenvariable aktualisiert, wodurch die Formel in der Datentabelle und damit das Diagramm aktualisiert wird.
Ich bin mir sicher, dass ich diese Zeile brauchen werde.
gb<<INVAL></INVAL>