<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Vorrei aprire una finestra di dialogo con il nome della colonna preselezionato che è possibile modificare o scegliere un altro se non sono nel set di dati. Il problema è che non sono in grado di utilizzare questi prescelti in seguito.
Quindi ecco il mio codice:
Cancella globali();
dt = tabella dati corrente();
Se( è vuoto( dt ),
dt = Apri()
);
col_name_list = dt << ottieni i nomi delle colonne (stringa);
Mostra( col_name_list );
dialogADMI = Vuoto();
If( Contiene( col_name_list, "ADJMI Rev2" ),
dialogADMI = Colonna( "ADJMI Rev2" )
);
dialogMIPLdraw1 = Vuoto();
If( Contiene( col_name_list, "MIPLdraw1" ),
dialogMIPLdraw1 = Colonna( "MIPLdraw1" )
);
dlg = Finestra di dialogo Colonna(
ADMI2 = Elenco colonne ("ADJMI Rev2",
Col Min( 1 ),
Col max( 1 ),
Colonne( dialogADMI )
),
MIPLdraw1Col = Elenco Col ("MIPLdraw1",
Col Min( 1 ),
Col max( 1 ),
Colonne( dialogMIPLdraw1 )
),
);
Mostra(dlg["Pulsante"]);
If( dlg["Pulsante"] == -1,
Gettare()
);
Rimuovi da(dlg);
Lista di valutazione(dlg);
ADMI2 = ADMI2[1] << ottieni nome;
MIPLdraw1Col = MIPLdraw1Col[1] << ottieni nome;
// Fino a qui penso che vada tutto bene
// Ma lo sted successivo non funziona
dt <<
Selezionare Dove(:MIPLdraw1Col != "") <<
Sottoinsieme(
colonne (:Paziente, :ADMI2, :MIPLdraw1Col),
Nome tabella di output ("Draw1"),
);
;
// Quindi provo a selezionare quelli con non ha svuotato in MIdraw1Col
// E ho questo: dt << Seleziona dove( :MIPLdraw1Col/*###*/ != "" ) <<
// Funziona se si utilizza il nome originale della colonna MIPLdraw1 ma voglio avere la possibilità di utilizzare un altro nome di colonna
// Allora come devo farlo?
Il problema che stai riscontrando è che stai dicendo a JMP che hai colonne denominate :ADMI2 e :MIPLdraw1Col.Questo perché stai usando l'elemento di ambito ":" davanti ai riferimenti.Non hai colonne con questi nomi.Hai variabili di memoria i cui valori hanno i nomi di colonne.Se modifichi il codice come segue, funzionerà:
dt << Seleziona dove ( Come Colonna ( MIPLdraw1Col ) != "" ) << Sottoinsieme (
colonne( :Paziente, Colonna ( ADMI2 ), Colonna ( MIPLdraw1Col ) ),
Nome tabella di output( "Disegna 1" ),
);
Potresti aver bisogno di variabili Colonna invece dei loro nomi.
Prova a scambiare l'ultima parte del tuo merluzzo con questo:
ADMI2 = Colonna ( ADMI2 [ 1 ] << ottenere il nome ) ;
MIPLdraw1Col = Colonna ( MIPLdraw1Col [ 1 ] << ottenere il nome ) ;
// Fino a qui penso che vada tutto bene
// Ma lo sted successivo non funziona
dt << Seleziona dove ( MIPLdraw1Col [] != "" ) << Sottoinsieme (
colonne ( : Paziente , ADMI2 , MIPLdraw1Col ) ,
Nome tabella di output ( "Disegna 1" )
) ;