Wie erstelle ich eine Spalte mit „IF“ und „Contains“?Hallo,
Ich habe eine Datums- und Uhrzeitspalte mit „AM“ und „PM“ im Format.
Mit JSL möchte ich eine neue Spalte hinzufügen, die anzeigt, ob es Tag oder Nacht ist.
In der Zeile mit „PM“ im Datum wird „Tag“ eingegeben.
In der Zeile mit „AM“ im Datum wird „Nacht“ eingegeben.
Ich versuche Folgendes zu verwenden:
For( i = 1, i <= N Rows( dt ), i++,
If( Contains( :Date[i], "PM" ) ,
:Day/Night[i] = :Day[i]
)
Aber es wird nicht funktionieren.
Dank im Voraus!
);
Betreff: Wie erstelle ich eine Spalte mit „IF“ und „Contains“?@ileshem ,
Die gesamte Syntax ist im Scripting Guide gut dokumentiert.Ich empfehle Ihnen dringend, sich die Zeit zu nehmen, diese Dokumentation zu lesen.
Hilfe==>Bücher==>Skripthandbuch
Es wird Ihnen die Details vermitteln, die Sie benötigen, um Ihren Einstieg in JSL viel einfacher zu machen.
Betreff: Wie erstelle ich eine Spalte mit „IF“ und „Contains“?WOW!
Danke!
Betreff: Wie erstelle ich eine Spalte mit „IF“ und „Contains“?Hallo @ileshem ,
Wenn Ihre Datumsspalte im richtigen Datums-/Uhrzeitformat gespeichert ist, enthält sie eigentlich keine Zeichen, auch wenn sie als solche angezeigt wird. Sie benötigen also eine Funktion, die nicht nach AM/PM sucht, sondern feststellen kann, ob DateTime eine Zeit nach 12 Uhr angibt oder nicht. Ich habe eine Tabelle angehängt, in der ich dies mithilfe der folgenden Spaltenformel durchgeführt habe:
If( Hour( :Time ) >= 12, "Night", "Day")
Sie können dies wie folgt problemlos so anpassen, dass es als Teil Ihres Skripts funktioniert:
For( i = 1, i <= N Rows( dt ), i++,
If( Hour( :Time[i] ) >= 12,
:Name( "Day/Night" )[i] = "Night",
:Name( "Day/Night" )[i] = "Day"
)
);
Diese verwenden die Funktion Hour(), um die Stunde des Tages aus DateTime abzurufen. Außerdem müssen Sie in Ihrer ursprünglichen JSL :Name() verwenden, um auf Ihre Spalte „Tag/Nacht“ zu verweisen, da das Sonderzeichen (ein Schrägstrich) bedeutet, dass der Spaltenname in Anführungszeichen gesetzt werden muss.
Ich hoffe das hilft!
@julianisch