Ist es möglich, den Datenfilter/Lokalen Datenfilter horizontal anzuordnen? (Benutzeroberfläche ändern)Hallo zusammen,
Ich arbeite mit dem Datenfilter in JMP, wo ich oft mehr als zehn Filter verwende. Momentan werden alle Filter vertikal in einer langen Liste angezeigt, und ich muss sehr weit scrollen, um Filter anzuwenden, was sich ziemlich umständlich anfühlt.
Ist es möglich, die Benutzeroberfläche des Datenfilters so anzupassen, dass einige Filter horizontal in Zeilen angezeigt werden (anstatt in einem langen vertikalen Stapel von Dropdown-Menüs)?
Vielen Dank im Voraus für jegliche Hinweise!
Automatisierung und SkripterstellungGrundlagen der Datenanalyse und ModellierungBetreff: Ist es möglich, den Datenfilter/Lokalen Datenfilter horizontal anzuordnen? (Benutzeroberfläche ändern)Ich denke, das lässt sich zumindest mit mehreren Datenfiltern nachbilden. Kann ich Datenfilter in zwei Spalten anordnen? Man könnte es auch mit umfangreicher Bearbeitung der Anzeigefelder erreichen, aber das habe ich noch nicht ausprobiert (ich verwende in solchen Fällen benutzerdefinierte Datenfilter).
Betreff: Ist es möglich, den Datenfilter/Lokalen Datenfilter horizontal anzuordnen? (Benutzeroberfläche ändern)
Vielen Dank für Ihre Antwort. Idealerweise sollte dies mit einem einzigen Datenfilter anstatt mit mehreren Filtern möglich sein, da der Hauptvorteil eines Datenfilters in der Möglichkeit der bedingten Filterung liegt. Die Verwendung mehrerer Filter wäre zwar eine mögliche Lösung, aber ich bin mir nicht sicher, ob es unkompliziert wäre, den Kontext an die inneren Filter zu übergeben, um die bedingte Filterung zu realisieren. Außerdem sähe die Benutzeroberfläche dann absolut unansehnlich aus.
Mir sind außerdem einige Einschränkungen bei benutzerdefinierten Datenfiltern aufgefallen (getestet mit einer ComboBox):
- Probleme mit der Benutzeroberfläche : Sind die Werte in den Spalten zu groß, wird die Dropdown-Liste übermäßig lang und unübersichtlich. Dies gilt selbst für nur einen langen Wert. (Zusätzlicher Aufwand durch Kürzen oder Filtern der Daten vor der Anzeige in der Dropdown-Liste. (Aufwändiger und langsamer als die direkte Datenfilterung.))
- Leistungsprobleme : Die Anzeige von Tausenden von Datensätzen ist extrem langsam. Ich habe verschiedene Ansätze versucht (z. B. die Zusammenfassung, um eindeutige Werte zu erhalten, und die Verwendung von Hashing zur Identifizierung eindeutiger Spaltenwerte), aber keiner war erfolgreich.
- Komplexität der bedingten Filterung : Bei einer großen Anzahl von Dropdown-Menüs erfordert die Implementierung der bedingten Filterung das Schreiben einer beträchtlichen Menge an Code, was schnell umständlich wird.
Betreff: Ist es möglich, den Datenfilter/Lokalen Datenfilter horizontal anzuordnen? (Benutzeroberfläche ändern)Vielen Dank für Ihre Antwort.
Haben Sie Beispielcode, den Sie teilen können, in dem Sie Spaltenwerte aus der Datentabelle in der Kombinationsbox mit erfüllter Bedingung anzeigen?
Betreff: Ist es möglich, den Datenfilter/Lokalen Datenfilter horizontal anzuordnen? (Benutzeroberfläche ändern)Ein etwas anderer Ansatz:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 437, 787 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Add Filter(
columns( :sex, :height, :weight )
)
)
);
Current Report()["Local Data Filter", List Box( 6 )] << set Horizontal( 1 );
Current Report()[ List Box( 4 )] << set Horizontal( 0 );

Betreff: Ist es möglich, den Datenfilter/Lokalen Datenfilter horizontal anzuordnen? (Benutzeroberfläche ändern)Was möchten Sie erreichen? Welche Bedingungen gelten? In welcher Reihenfolge sollen die Bedingungen angewendet werden? Müssen sie der Reihe nach angewendet werden oder können einige übersprungen werden? Können Sie Änderungen an der Haupttabelle vornehmen (neue Spalten/Auswahlen)? Wann werden die Filter angewendet (sofort/nach dem Drücken der Schaltfläche)? << Die Auswahl mit Einschränkung ist wahrscheinlich eine recht einfache Option.
Der lokale Datenfilter kann eine Kombinationsbox (oder einen ähnlichen Selektor) verwenden.
Names Default To Here(1);
colcount = 3;
dt = Open("$SAMPLE_DATA/Car Poll.jmp");
dist = dt << Distribution(
Nominal Distribution(Column(:country)),
Local Data Filter(
Conditional,
Add Filter(
columns(:country, :size, :type),
Display(:country, N Items(3), "Single Category Display"),
Display(:size, N Items(3), "Single Category Display"),
Display(:type, N Items(3), "Single Category Display")
)
)
);
ldf_ob = (Report(dist) << Top Parent)[Outline Box("Local Data Filter")];
lub = ldf_ob[LineupBox(2)];
lub << N Col(colcount);
For(i = 1, i <= colcount, i++,
lub << Prepend(Spacer Box(Size(200, 0)));
);
Write();
Betreff: Ist es möglich, Datenfilter/Lokale Datenfilter horizontal anzuordnen? (Benutzeroberfläche ändern)Glaubst du, es funktioniert auch ohne den Graph Builder? Kannst du die Grafik horizontal beliebig anordnen, wenn du den Graph Builder entfernst?
Betreff: Ist es möglich, den Datenfilter/Lokalen Datenfilter horizontal anzuordnen? (Benutzeroberfläche ändern)Jede Listenbox verfügt über das Kennzeichen Horizontal(0/1).
Ändern Sie einfach das Flag, und Sie können jede vertikale Liste von Anzeigeobjekten in eine horizontale Liste umwandeln.
Hier ist ein Beispiel für einen reinen Datenfilter im horizontalen Modus (ich weiß nicht, ob das nützlich ist).
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
win = new window("test", dt << data Filter(
Add Filter(
columns( :height, :countries visited, :family cars )
)
));
win["Data Filter",ListBox(7)] << set horizontal(1)