<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hi,
Ich möchte einen Dialog mit vorgewähltem Spaltennamen erstellen, den Sie ändern oder einen anderen auswählen können, wenn sie nicht im Datensatz enthalten sind. Das Problem ist, dass ich diese Auserwählten später nicht verwenden kann.
Hier also mein Code:
Löschen Sie Globals ();
dt = Aktuelle Datentabelle ();
Wenn ( leer ist ( dt ),
dt = Öffnen()
);
col_name_list = dt << Spaltennamen abrufen (string);
Show( col_name_list );
DialogADMI = Leer ();
Wenn ( Enthält (Spaltenname_Liste, "ADJMI Rev2"),
dialogADMI = Column( "ADJMI Rev2" )
);
dialogMIPLdraw1 = Leer ();
Wenn ( Enthält (Spaltenname_Liste, "MIPLdraw1"),
dialogMIPLdraw1 = Spalte( "MIPLdraw1" )
);
dlg = Spaltendialog(
ADMI2 = Spaltenliste( "ADJMI Rev2",
Min Col( 1 ),
Max Col( 1 ),
Spalten ( dialogADMI )
),
MIPLdraw1Col = Spaltenliste( "MIPLdraw1",
Min Col( 1 ),
Max Col( 1 ),
Spalten (dialogMIPLdraw1)
),
);
Show( dlg["Schaltfläche"] );
If(dlg["Schaltfläche"] == -1,
Wurf()
);
Entfernen aus ( dlg );
Auswertungsliste( dlg );
ADMI2 = ADMI2[1] << Namen abrufen;
MIPLdraw1Col = MIPLdraw1Col[1] << Namen abrufen;
// Bis hierhin denke ich ist alles in Ordnung
// Aber next sted funktioniert nicht
dt <<
Wählen Sie Where(:MIPLdraw1Col != "") <<
Teilmenge(
Spalten (:Patient, :ADMI2, :MIPLdraw1Col),
Name der Ausgabetabelle ("Draw1"),
);
;
// Also versuche ich, diejenigen auszuwählen, die in MIdraw1Col nicht leer sind
// Und ich habe folgendes bekommen: dt << Select Where( :MIPLdraw1Col/*###*/ != "" ) <<
// Dies funktioniert, wenn der ursprüngliche Name der Spalte MIPLdraw1 verwendet wird, aber ich möchte die Möglichkeit haben, einen anderen Spaltennamen zu verwenden
// Also wie soll ich es machen?
Das Problem, das Sie haben, ist, dass Sie JMP mitteilen, dass Sie Spalten mit den Namen :ADMI2 und :MIPLdraw1Col haben.Dies liegt daran, dass Sie das Scoping-Element von ":" vor den Referenzen verwenden.Sie haben keine Spalten mit diesen Namen.Sie haben Speichervariablen, deren Werte die Namen von Spalten haben.Wenn Sie den Code wie folgt ändern, funktioniert es:
dt << Wählen Sie Wo aus ( Als Spalte ( MIPLdraw1Col ) != "" ) << Teilmenge (
Spalten (: Patient, Spalte ( ADMI2 ), Spalte ( MIPLdraw1Col ) ),
Name der Ausgabetabelle ( "Unentschieden1" ),
);
Möglicherweise benötigen Sie Spaltenvariablen anstelle ihrer Namen.
Versuchen Sie, den letzten Teil Ihres Kabeljaus mit diesem auszutauschen:
ADMI2 = Spalte ( ADMI2 [ 1 ] << Namen bekommen ) ;
MIPLdraw1Spalte = Spalte ( MIPLdraw1Spalte [ 1 ] << Namen bekommen ) ;
// Bis hierhin denke ich ist alles in Ordnung
// Aber next sted funktioniert nicht
dt << Wählen Sie Wo aus ( MIPLdraw1Spalte [] != "" ) << Teilmenge (
Säulen ( : Geduldig , ADMI2 , MIPLdraw1Spalte ) ,
Name der Ausgabetabelle ( "Unentschieden1" )
) ;