Ich versuche, Graph Builder automatisch Daten aus einer gefilterten Datentabellenabfrage darstellen zu lassenHallo alle,
JMP 16-Benutzer hier. Ich habe ein Add-In, das Daten aus einer Arbeitsdatenbank abruft und eine Tabelle erstellt. In der Datei, die mich interessiert, sind Daten enthalten, die 20 Jahre zurückreichen, ich möchte jedoch nur Daten der letzten 6 Monate.
Es ist mir gelungen, eine Abfrage zu erstellen, die die Daten aus der Quelltabelle filtert und in eine neue Teilmengentabelle einfügt. Die Abfragefilter basieren auf einem beliebigen Datumsbereich, den ich eingegeben habe, wobei der Filter so eingestellt ist, dass er bei jeder Ausführung des Skripts zu einer Eingabe auffordert, wie im Bild unten.

Die Abfrage erledigt ihre Aufgabe und liefert mir die Daten aus dem Datumsbereich, der mich interessiert. Ich habe es geschafft, das Skript wie folgt auszuführen: Eingabe aus der Quelldatenbank -> Quelltabelle abfragen und basierend auf dem Datumsbereich filtern -> Öffnen Sie eine neue Tabelle mit neuen Daten.

Was ich dann möchte, ist, die neuen Daten im Graph Builder darzustellen. Ich möchte, dass dieser Plot automatisch angezeigt und gefüllt wird, wenn ich das Skript mit den Daten aus dem von mir gewählten Datumsbereich ausführe. Ich habe versucht, das Graph Builder-Skript wie im obigen Bild in die ChemicalUsageQuery zu kopieren, aber wenn ich es ausführe, wird es entweder nicht oder mit Daten aus der ursprünglichen Quelldatenbanktabelle gefüllt und die Daten werden auf 1904 geändert.
Ich möchte, dass das Skript ausgeführt wird, mich zur Eingabe eines Datumsbereichs auffordert, eine neue Teilmengentabelle öffnet und dann die Daten automatisch grafisch darstellt. Jede Hilfe wäre sehr dankbar.
Danke,
DatenzugriffBetreff: Versuch, Graph Builder automatisch Daten aus der gefilterten Datentabellenabfrage zeichnen zu lassenSie könnten versuchen, eine Teilmenge zu verwenden:
Names default to here(1);
dt1 = Open("$Sample_data/big class.jmp");
//By selecting rows:
dt1 << Select Where(:age == 12);
dt2 = dt1 << Subset(
Selected Rows( 1 ),
Selected columns only( 0 )
);
//Or, by row numbers:
rowstokeep = dt1 << Get Rows Where(:age == 12);
dt3 = dt1 << Subset(
Selected Rows( 0 ),
Rows( rowstokeep ),
Selected columns only( 0 )
);Betreff: Versuch, Graph Builder automatisch Daten aus der gefilterten Datentabellenabfrage zeichnen zu lassenHallo wieder,
Ich habe versucht, dem obigen Skript einige Funktionen hinzuzufügen. Ich habe derzeit ein Textfeld, das geöffnet wird und den Benutzer zur Eingabe von Daten auffordert, und ein Kontrollkästchen, das zur Eingabe der Chemikalien auffordert, die sie sehen möchten. Dies geschieht, damit das Skript nur Daten für die vom Benutzer ausgewählte Chemikalie für einen bestimmten Datumsbereich darstellt.
Die Datentabelle mit dem Namen "dt" wird geöffnet. Was ich möchte, ist, die vom Benutzer ausgewählten Zeilen in der Liste "lt" zu erhalten und sie in eine neue Datentabelle namens "dt2" einzufügen. Ich möchte, dass dt2 für jede Iteration der Schleife mit den neuen Daten aktualisiert wird, die lt[i] entsprechen.
For ( i = 1, i <= N Items(lt), i++,
dt << Select Where(:chemical == lt[i] );
dt2 = New Table("mytest", dt << Get Selected Rows);
);Das obige Skript wählt die Zeilen aus, öffnet aber ein leeres dt2.
Jede Hilfe ist willkommen. Danke!
Betreff: Versuch, Graph Builder automatisch Daten aus der gefilterten Datentabellenabfrage zeichnen zu lassenVielen Dank. Es funktionierte.
Betreff: Versuch, Graph Builder automatisch Daten aus der gefilterten Datentabellenabfrage zeichnen zu lassenIch denke, Sie müssen nur einen Verweis auf die neue Tabelle speichern, wenn Sie sie öffnen, und dann das Graph Builder-Skript an diesen Verweis senden. Wenn Sie einfach Graph Builder() ausführen, wird es mit der aktuellen Datentabelle ausgeführt, die möglicherweise nicht die gewünschte ist.Beachten Sie beispielsweise die Rolle von dt2 in diesem Skript:
Names default to here(1);
dt1 = Open("$Sample_data/big class.jmp");
dt2 = New SQL Query(
Version( 130 ),
Connection( "JMP" ),
JMP Tables(
Associative Array({{dt1 << Get Name, "_MEMORY_"}})
),
QueryName( "SQLQuery1" ),
Select(
Column(
"height",
"t1",
Alias( "Average-height" ),
SavedJMPName( "height" ),
Aggregation( "Average" )
),
Column(
"age",
"t1",
Analysis Type( "Ordinal" ),
Numeric Format( "Fixed Dec", "0", "NO", "" )
)
),
From( Table( "big class", Alias( "t1" ) ) ),
Group By(
Column(
"age",
"t1",
Analysis Type( "Ordinal" ),
Numeric Format( "Fixed Dec", "0", "NO", "" )
)
)
) << Run;
dt2 << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :age ), Y( :"Average-height"n ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);