Selezionare il nome della colonna utilizzando la funzione contieneCIAO,
Mi piace selezionare più colonne che hanno nomi che contengono una stringa. Ho provato sotto lo script e nessun errore ma le colonne non vengono selezionate.
col_list = dt3 << get column names(string);
for( i = 1, i <= N Items( col_list ), i++,
If(Contains( col_list[i], "A_B_C" ),
Column(col_list[i] ) << Set Selected (1)
)
);
Quando controllo col_list, ha tutte le colonne nell'intera tabella dati. Apprezzo il vostro aiuto. Grazie
Re: selezionare il nome della colonna utilizzando la funzione contieneGrazie Jim per il tuo aiuto. Funziona bene ora.
Re: selezionare il nome della colonna utilizzando la funzione contieneLa funzione Contains() prende il secondo argomento e cerca nel primo argomento per vedere se il valore del secondo argomento può essere trovato nel primo argomento.Pertanto, se la funzione Contains() è
Contiene("A_B_C", Col_Lista[i])
e il valore di Col_List[i] = "A_B_C" prenderà il valore "A_B_C" e esaminerà il primo argomento per vedere se può essere trovato.Che può, perché il primo argomento contiene "A_B_C".Ora, se il nome della colonna è "A" e fai lo stesso confronto, la funzione Contains() prenderà il secondo argomento, "A" e esaminerà il primo argomento, "A_B_C" e troverà che un "A" è nel primo argomento, e quindi sarà un confronto vero.
Pertanto, la forma originale della funzione Contains() è ciò che si desidera
Names Default To Here( 1 );
dt = Current Data Table();
Col_List = dt << Get Column Names("String");
for(i = 1, i <= N Items(Col_List),i++,
If(Contains(Col_List[i], "A_B_C"),
Column(Col_List[i]) << Set Selected(1);
);
);Re: selezionare il nome della colonna utilizzando la funzione contienepotrebbero esserci un paio di cose in corso.
Una possibilità è che una colonna sia selezionata prima dell'esecuzione dello script?
Prova ad aggiungerlo all'inizio del tuo script, subito dopo che dt è stato definito.
dt << Clear Selection;
Re: selezionare il nome della colonna utilizzando la funzione contieneGrazie. Ho provato il tuo script ma con un esempio diverso e ho ancora un problema.
Nomi Predefinito A Qui( 1 );
dt = Tabella dati corrente();
Col_List = dt << Ottieni i nomi delle colonne("Stringa");
for(i = 1, i <= N elementi(Col_List),i++,
If(Contiene("A_B_C",Col_List[i]),
Column(Col_List[i]) << Imposta selezionato(1);
);
);
Le colonne A_B_C e A sono selezionate. Non capisco perché. Apprezzo il vostro aiuto. Allego il risultato dell'immagine.
Re: selezionare il nome della colonna utilizzando la funzione contiene@A ,
Penso che tu abbia gli argomenti Contains() invertiti.
dt = Current Data Table();
Col_List = dt << Get Column Names("String");
for(i = 1, i <= N Items(Col_List),i++,
If(Contains("A_B_C",Col_List[i]),
Column(Col_List[i]) << Set Selected(1);
);
);