Wie kann ich Achsen von verschiedenen Plattformen mit einem einzigen lokalen Filter auf einer kombinierten Seite automatisch skalieren?Hallo,
Ich fange gerade erst an, mit Dashboards und lokalen Filtern zu arbeiten, habe aber einige Schwierigkeiten. Ich versuche, eine einseitige Zusammenfassung einer routinemäßigen Analyse für mich zu erstellen. Ich kann das Fenster mit den gewünschten Elementen erstellen und der Filter funktioniert auf den verschiedenen Plattformen (2xOneway- und 1xBivariate-Diagramme) in Bezug auf die Daten, die in jedem Diagramm angezeigt werden, jedoch wird die Achse im 2xOneway-Diagramm mit Änderungen an der lokalen neu skaliert filtern, aber die bivariate nicht - gibt es eine Möglichkeit, die bivariate Grafik auch neu zu skalieren, wenn ich die lokale Filterauswahl ändere?
Hier ist mein Codeabschnitt zum Erstellen des kombinierten Fensters (ich bin kein Programmierer, daher ist es möglicherweise nicht schön!)
nw = new window( "DASHBORAD DEVELOPMENT",
Data Filter Context Box(
V List Box(
H List Box(
Current Data Table() << Data Filter(
Conditional,
Local,
Add Filter(
columns( :PRODUCTION_LINE, :PRESS_ID, :AREA_ID, :METROLOGY_FLAG, :Desport_Flag),
Display( :AREA_ID, Size( 160, 75 ), List Display ),
Display( :PRESS_ID, Size( 143, 30 ), List Display )
)
),
Oneway(
Y( :HEIGHT),
X( :MACH ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport(
Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} )
)
),
Oneway(
Y( :HEIGHT),
X( :OPERATOR),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport(
Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} )
)
)
),
Bivariate(
Y( :HEIGHT ),
X( :PRODUCTION_DATE),
Automatic Recalc( 1 ),
SendToReport(
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Frame Size( 1018, 240 )
}
)
)
)
)
)
);Entschuldigung im Voraus, wenn dies etwas sehr Grundlegendes ist, das ich vermisse!
Niall
Betreff: Wie kann ich Achsen von verschiedenen Plattformen mit einem einzigen lokalen Filter auf einer kombinierten Seite automatisch skalierenBrillanter Jim, sehr geschätzt!Betreff: Wie kann ich Achsen von verschiedenen Plattformen mit einem einzigen lokalen Filter auf einer kombinierten Seite automatisch skalierenHier ist eine Modifikation des Skripts, das ich Ihnen geschickt habe, mit einem nosensischen Anhang, der dem Skript zum Hinzufügen von Grafiken hinzugefügt wurde. Es ist unsinnig, aber es funktioniert
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
nw = New Window( "DASHBORAD DEVELOPMENT",
originHold = 0;
originRange = 0;
Data Filter Context Box(
V List Box(
H List Box(
Current Data Table() << Data Filter( Conditional, Local, Add Filter( columns( :Age, :Weight ) ) ),
ow1 = dt << Oneway(
Y( :HEIGHT ),
X( :Sex ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport( Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ) )
),
ow2 = dt << Oneway(
Y( :HEIGHT ),
X( :Age ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport( Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ) )
)
),
biv = dt << Bivariate(
Y( :HEIGHT ),
X( :Weight ),
Automatic Recalc( 1 ),
SendToReport( Dispatch( {}, "Bivar Plot", FrameBox, {Frame Size( 1018, 240 )} ) )
)
)
);
);
Report( ow1 )[Frame Box( 1 )] << Add Graphics Script(
If( originHold != Y Origin() | rangeHold != Y Range(),
originHold = Y Origin();
rangeHold = Y Range();
Report( ow1 )[Axis Box( 1 )] << Copy Axis Settings;
Try( Report( biv )[Axis Box( 1 )] << Paste Axis Settings );
Report( biv )[Outline Box( 1 )] << append( text box("Changed " || char(originHold)))
);
);Betreff: Wie kann ich Achsen von verschiedenen Plattformen mit einem einzigen lokalen Filter auf einer kombinierten Seite automatisch skalierenJim,
Erstmal danke für die Antwort, das freut mich sehr! Das funktioniert
perfekt für den Fall, nach dem ich gefragt habe.
Ist es möglich, die gleiche Art von Ansatz (Add Graphics Script) zu verwenden, wenn
mit append() einen Abschnitt zu einem vorhandenen offenen Fenster hinzufügen? Ich habe es versucht
Fügen Sie es in die Append-Funktion ein, aber es gibt mir einen Fehler zurück?
Betreff: Wie kann ich Achsen von verschiedenen Plattformen mit einem einzigen lokalen Filter auf einer kombinierten Seite automatisch skalierenDie Methode, die ich verwendet habe, um dies zu tun, ist, dass ich Ihrer Oneway-Plattform ein << Add Graphics Script() hinzufügen würde, das überprüft, ob sich der Y-Ursprung () oder der Y-Bereich () geändert hat, und wenn ja, dann << Achseneinstellungen von der Y-Achse kopieren und dann << Achseneinstellungen in die Y-Achsen auf der bivariaten Plattform einfügen.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
nw = New Window( "DASHBORAD DEVELOPMENT",
originHold = 0;
originRange = 0;
Data Filter Context Box(
V List Box(
H List Box(
Current Data Table() << Data Filter( Conditional, Local, Add Filter( columns( :Age, :Weight ) ) ),
ow1 = dt << Oneway(
Y( :HEIGHT ),
X( :Sex ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport( Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ) )
),
ow2 = dt << Oneway(
Y( :HEIGHT ),
X( :Age ),
Automatic Recalc( 1 ),
Means( 1 ),
Mean Diamonds( 1 ),
SendToReport( Dispatch( {}, "Oneway Anova", OutlineBox, {Close( 1 )} ) )
)
),
biv = dt << Bivariate(
Y( :HEIGHT ),
X( :Weight ),
Automatic Recalc( 1 ),
SendToReport( Dispatch( {}, "Bivar Plot", FrameBox, {Frame Size( 1018, 240 )} ) )
)
)
);
);
Report( ow1 )[Frame Box( 1 )] << Add Graphics Script(
If( originHold != Y Origin() | rangeHold != Y Range(),
originHold = Y Origin();
rangeHold = Y Range();
Report( ow1 )[Axis Box( 1 )] << Copy Axis Settings;
Try( Report( biv )[Axis Box( 1 )] << Paste Axis Settings );
)
);