Kontrollkästchen Datenfilter aktivierenHallo,
Ich möchte ein Kontrollkästchen haben, in dem der Benutzer die Option zum Anzeigen der Daten auswählen kann. Ich habe versucht, die Funktion zu verwenden, aber etwas in meinem Code scheint nicht korrekt zu sein. Könnten Sie bitte Rat geben?
Names default to here( 1 );
dt = Open( "$SAMPLE_DATA/Time Series/Raleigh Temps.jmp" );
New window(
"Graph with filter",
Data filter context box(
H list box(
V list box(
Text Box( "Enter month:"),
check Box( {"1","2", "3"}, << set(2),
<<SETFUNCTION></SETFUNCTION>
Verbraucher- und MarktforschungVersuchsplanungBetreff: Kontrollkästchen Datenfilter aktivierenHallo @Jackie_ - Die unsichtbare Option ist eigentlich nur für globale Filter nützlich.Diese Option entfernt die Anzeigekomponente der Datenfilter vollständig, lokale Filter hängen jedoch von der Position im Bericht ab, um zu bestimmen, welche Berichte gefiltert werden.Sie können den Filter auf andere Weise ausblenden, beispielsweise mit der ursprünglichen Sichtbarkeitsoption, die Sie in der ersten Version des Skripts verwendet haben:
lb << Visibility("Collapse");Betreff: Kontrollkästchen Datenfilter aktivieren@danschikore @jthi
Ich habe die im Code hinzugefügte Aufruffunktion zum Löschen geändert. Wenn ich den Datenfilter auf „Unsichtbar“ setze, werden die Zeilen nicht gefiltert. Ich bin mir nicht sicher, was los ist. Ich habe auch die Datentabelle angehängt
So sieht es aus
Names Default To Here( 1 );
dt = Current Data Table();
New Window( "Graph with filter",
modal,
Data Filter Context Box(
H List Box(
V List Box(
Text Box( "Select Bins:" ),
Radio Box(
{"1", "2", "N", "A","B","All"},
<<SETFUNCTION></SETFUNCTION>Betreff: Kontrollkästchen Datenfilter aktivierenHallo @Jackie_ - Wenn Sie den integrierten Radio-Box-Anzeigemodus verwenden, ist die Option „Keine ausgewählt“ die hinzugefügte Option, um alle Ebenen auszuwählen.Dies ist der Zustand, in dem Spaltenfilter beginnen, und auch der Zustand, in den sie zurückkehren, wenn Sie das Filterelement löschen.Wenn ein Filterelement „Löschen“ ist, nimmt es nicht am Filter teil und das gespeicherte Skript enthält keine Where-Klausel für diese Spalte.
Wenn Sie dies über Ihre benutzerdefinierte Filteranzeige tun müssen, sollte der Aufruf von <
Betreff: Kontrollkästchen Datenfilter aktivierenHöchstwahrscheinlich liegt das Problem an der where-Klausel. Ich würde vorschlagen, einen Verweis auf das Kontrollkästchen hinzuzufügen, um Ihnen beim Debuggen zu helfen und zu sehen, wie es sich verhält, und dann zu versuchen, die Funktion außerhalb der Funktion zum Laufen zu bringen. Nachdem Sie das wie gewünscht zum Laufen gebracht haben, versuchen Sie, es innerhalb der Funktion zu implementieren.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Time Series/Raleigh Temps.jmp");
New Window("Graph with filter",
Data Filter Context Box(
H List Box(
V List Box(
Text Box("Enter month:"),
cb = Check Box({"1", "2", "3"}, // add reference here for easier debugging
<<SET></SET>
Wenn Sie hier Ausblenden und Ausschließen (oder Zeilenzustände) verwenden könnten, wäre dies viel einfacher als die Verwendung eines lokalen Datenfilters, aber das ist nicht immer möglich
Betreff: Kontrollkästchen Datenfilter aktivieren@danschikore Vielen Dank!
Kurze Frage: Ich möchte im Optionsfeld „Alle anzeigen“ eine Option hinzufügen, die alle Monatsdaten anzeigt. Irgendwelche Vorschläge?
Betreff: Kontrollkästchen Datenfilter aktivierenIm Allgemeinen denke ich, dass es am besten funktioniert, die konstanten Ausdrücke innerhalb der Where-Klausel vollständig auszuwerten, bevor Sie die Nachricht an den Datenfilter senden.In diesem kleinen Auszug habe ich auch von einer Check Box auf eine Radio Box umgestellt.Das Problem mit einem Kontrollkästchen besteht darin, dass Sie Bereiche auswählen können, die im Filter möglicherweise nicht möglich sind (wählen Sie 1,3, aber nicht 2).
radio Box( {"1","2", "3"}, << set(2),
<<SETFUNCTION></SETFUNCTION>
Sie könnten erwägen, den Modellierungstyp für die Monatszahl in diesem Beispiel in „Nominal/Ordinal“ zu ändern (entweder in der Datentabelle oder nur für den Filter im Menü des roten Dreiecks).Dies würde Ihnen mehr Flexibilität in der Where-Klausel geben, die das Verhalten vom Typ „Check Box“ unterstützen würde, oder Sie könnten einfach die integrierten Modi „Check Box“ und „Radio Box“ des Filters verwenden.Dies ist ein JMP 16-Beispiel:
dt = Open( "$SAMPLE_DATA/Time Series/Raleigh Temps.jmp" );
dt << Graph Builder(
Size( 400, 563 ),
Show Control Panel( 0 ),
Variables(
X( :"Month/Year"n ),
Y( :Temperature ),
Y( :Predicted Temperature, Position( 1 ) )
),
Elements( Line( X, Y( 1 ), Y( 2 ), Legend( 23 ) ) ),
Local Data Filter(
Add Filter(
columns( :Month Number ),
Modeling Type( :Month Number, Nominal ),
Where( :Month Number == {1, 3} ),
Display(
:Month Number,
N Items( 5 ),
"Check Box Display",
Find( Set Text( "" ) )
)
)
)
);