Come faccio a creare una colonna utilizzando "IF" e "Contiene"Ciao,
Ho una colonna di data e ora con "AM" e "PM" nel formato.
Usando JSL, desidero aggiungere una nuova colonna che indicherà che è un giorno o una notte.
La riga con "PM" nella data inserirà "Giorno"
La riga con "AM" nella data inserirà "Notte"
Provo a utilizzare quanto segue:
For( i = 1, i <= N Rows( dt ), i++,
If( Contains( :Date[i], "PM" ) ,
:Day/Night[i] = :Day[i]
)
Ma non funzionerà.
Grazie in anticipo!
);
Re: Come faccio a creare una colonna utilizzando "IF" e "Contiene"@ileshem ,
Tutta questa sintassi è ben documentata nella Guida allo scripting.Suggerisco caldamente di prendersi il tempo necessario per leggere questa documentazione.
Aiuto==>Libri==>Guida allo scripting
Ti fornirà i dettagli necessari per rendere molto più semplice la tua avventura in JSL.
Re: Come faccio a creare una colonna utilizzando "IF" e "Contiene"OH!
Grazie!
Re: Come faccio a creare una colonna utilizzando "IF" e "Contiene"CIAO @ileshem ,
Se la colonna Data è archiviata nel formato data/ora corretto, in realtà non conterrà caratteri, anche se viene visualizzata come tale. Quindi, avrai bisogno di una funzione che non cerchi AM/PM, ma piuttosto possa determinare se DateTime indica un'ora dopo mezzanotte o meno. Ho allegato una tabella in cui ho eseguito questa operazione utilizzando la seguente formula di colonna:
If( Hour( :Time ) >= 12, "Night", "Day")
Potresti adattarlo facilmente per funzionare come parte del tuo script, come di seguito:
For( i = 1, i <= N Rows( dt ), i++,
If( Hour( :Time[i] ) >= 12,
:Name( "Day/Night" )[i] = "Night",
:Name( "Day/Night" )[i] = "Day"
)
);
Questi utilizzano la funzione Hour() per estrarre l'ora del giorno da DateTime. Inoltre, nel tuo JSL originale, devi :Name() per fare riferimento alla colonna Giorno/Notte, poiché il carattere speciale (una barra) indica che il nome della colonna deve essere racchiuso tra virgolette.
Spero che aiuti!
@giuliano