Wichtigste 30 Analytics-Funktionen
Die Top-30-Funktionen in ACLScript sind für eine Reihe unterschiedlicher Aufgaben hilfreich. Verwenden Sie diese Funktionen regelmäßig, um Daten in Ihren Skripts vorzubereiten, zu analysieren, zu konvertieren und zu harmonisieren.
Führende und abschließende Leerzeichen entfernen
Zeichenfelder in Analytics-Tabellen beinhalten oft führende oder nachgestellte Leerzeichen, weil die Feldbreiten feste Längen aufweisen. Wenn Sie eine Operation mit Daten aus einem Zeichenfeld durchführen müssen, können Sie diese Leerzeichen entfernen, sodass die Zeichenfolge lediglich die tatsächlichen Daten beinhaltet.
ALLTRIM( )
Gibt eine Zeichenfolge zurück, bei der die führenden und nachgestellten Leerzeichen aus der Eingabezeichenfolge entfernt sind.
Hinweis
Es empfiehlt sich, ALLTRIM() für Zeichenfelder zu verwenden, die Sie als Eingabe für eine andere Funktion verwenden, damit sich führende oder nachgestellte Leerzeichen nicht auf den Rückgabewert auswirken.
Beispiel
Das Feld Lieferantennummer enthält den Wert " 1254". Sie müssen das zusätzliche Leerzeichen aus Lieferantennummer entfernen, damit Sie das Feld mit Daten in einer anderen Tabelle harmonisieren können.
COMMENT gibt "1254" zurück
ALLTRIM(Lieferantennummer)
Groß-/Kleinschreibung synchronisieren
Der Zeichenfolgenvergleich in Analytics unterscheidet zwischen Groß- und Kleinschreibung. Daher ist es wichtig, die Groß- und Kleinschreibung aller Daten eines Felds zu synchronisieren, bevor Sie Vergleiche, Zusammenführungen oder Verbindungen der Daten durchführen.
UPPER( )
Gibt eine Zeichenfolge zurück, in der alphabetische Zeichen in Großbuchstaben konvertiert wurden.
Beispiel
Das Feld Nachname enthält den Wert "Smith". Sie müssen den Wert in Großbuchstaben umwandeln, um ihn mit einem Wert aus Großbuchstaben in einer anderen Tabelle zu vergleichen.
COMMENT gibt "SMITH" zurück
UPPER(Nachname)
LOWER( )
Gibt eine Zeichenfolge zurück, in der alphabetische Zeichen in Kleinbuchstaben konvertiert sind.
Beispiel
Das Feld Nachname enthält den Wert "Smith". Sie müssen den Wert kleinschreiben, um ihn mit einem kleingeschriebenen Wert aus einer anderen Tabelle zu vergleichen.
COMMENT gibt "smith" zurück
LOWER(Nachname)
PROPER( )
Gibt eine Zeichenfolge zurück, in der das erste Zeichen jedes Worts in Großbuchstaben und alle verbliebenen Zeichen in Kleinbuchstaben umgewandelt wurden.
Beispiel
Das Feld Nachname enthält den Wert "smith". Sie müssen ihn innerhalb Ihrer Ausgabe großgeschrieben darstellen.
COMMENT gibt "Smith" zurück
PROPER(Nachname)
Zeichenfolgen berechnen und trennen
Wenn Sie ein Datensegment aus einer längeren Zeichenfolge extrahieren oder einige Informationen über die Zeichenfolge, wie beispielsweise die Länge oder Inhalte, testen möchten, verwenden Sie die folgenden Funktionen.
SUBSTR( )
Gibt eine festgelegte Teilzeichenfolge einer Zeichenfolge zurück.
Beispiel
Das Feld Hauptbuchkonto_Code enthält den Wert "001-458-873-99". Sie müssen die ersten 3 Bytes (oder Zeichen) aus der Zeichenfolge extrahieren.
COMMENT gibt "001" zurück
ASSIGN v_Startpos = 1
ASSIGN v_Länge = 3
SUBSTR(Hauptbuchkonto_Code; v_Startpos; v_Länge)
LAST( )
Gibt eine bestimmte Anzahl von Zeichen am Ende einer Zeichenfolge zurück.
Beispiel
Das Feld Hauptbuchkonto_Code enthält den Wert "001-458-873-99". Sie müssen die letzten zwei Bytes (oder Zeichen) aus der Zeichenfolge extrahieren.
COMMENT gibt "99" zurück
ASSIGN v_Anz_Zeichen = 2
LAST(Hauptbuchkonto_Code; v_Anz_Zeichen)
SPLIT( )
Gibt ein angegebenes Segment einer Zeichenfolge zurück.
Beispiel
Das Feld Hauptbuchkonto_Code enthält den Wert "001-458-873-99". Sie müssen das zweite Segment des Codes aus der Zeichenfolge extrahieren.
COMMENT gibt "458" zurück
ASSIGN v_Trennzeichen = "-"
ASSIGN v_Segmentnr = 2
SPLIT(Hauptbuchkonto_Code; v_Trennzeichen; v_Segmentnr)
AT( )
Gibt eine Zahl zurück, die angibt, wo eine Teilzeichenfolge innerhalb eines Zeichenwerts beginnt.
Beispiel
Das Feld Hauptbuchkonto_Code enthält den Wert "001-458-873-99". Sie müssen die Byte-Position von "458" ermitteln, um zu testen, ob das zweite Segment des Hauptbuchcodes "458" beträgt (Startposition "5").
COMMENT gibt "5" zurück
ASSIGN v_Vorkommen = 1
ASSIGN v_Teilzeichenfolge= "458"
AT(v_Vorkommen; v_Teilzeichenfolge; Hauptbuchkonto_Code)
OCCURS( )
Gibt zurück, wie oft eine Teilzeichenfolge in einem angegebenen Zeichenwert vorkommt.
Beispiel
Das Feld Hauptbuchkonto_Code enthält den Wert "001-458-873-99". Sie müssen feststellen, ob der Hauptbuchcode korrekt formatiert ist, indem Sie sicherstellen, dass die Daten drei Bindestriche enthalten.
COMMENT gibt "3" zurück
ASSIGN v_Teilzeichenfolge= "-"
OCCURS(Hauptbuchkonto_Code; v_Teilzeichenfolge)
LENGTH( )
Gibt die Anzahl der Zeichen in einer Zeichenfolge zurück.
Beispiel
Das Feld Hauptbuchkonto_Code enthält den Wert "001-458-873-99". Sie müssen feststellen, ob der Hauptbuchcode korrekt formatiert ist, indem Sie sicherstellen, dass die Daten 14 Zeichen enthalten.
COMMENT gibt "14" zurück
LENGTH(Hauptbuchkonto_Code)
Datentypen konvertieren
In Abhängigkeit von der Datenquelle und den Importanweisungen, durch welche die Analytics-Tabelle erstellt wurde, müssen Sie unter Umständen Werte in einem Feld von einem Datentyp in einen anderen konvertieren, damit eine Operation möglich ist. Um beispielsweise arithmetische Funktionen für Daten zu ermöglichen, die als Zeichen importiert wurden ("12345"), müssen Sie diese in numerische Werte konvertieren.
STRING( )
Konvertiert einen numerischen Wert in einen Zeichenstring.
Beispiel
Das Feld Rechnungsbetrag enthält den Wert 12345,67. Sie müssen ihn in Zeichendaten konvertieren.
COMMENT gibt "12345,67" zurück
ASSIGN v_Zeichenfolgenlänge = 8
STRING(Rechnungsbetrag; v_Zeichenfolgenlänge)
VALUE( )
Konvertiert einen Zeichenstring in einen numerischen Wert.
Tipp
VALUE() wird oft mit ZONED() verwendet, um führende Nullen hinzuzufügen.
Beispiel
Das Feld Rechnungsbetrag enthält den Wert "12345,67". Sie müssen ihn in numerische Daten konvertieren.
COMMENT gibt "12345,67" zurück
VALUE(Rechnungsbetrag; 2)
CTOD( )
Konvertiert Zeichendaten oder numerische Daten in Datumswerte. Kann außerdem das Datum aus einem Zeichen- oder numerischen Datumzeitwert extrahieren und diesen als Datum wiedergeben. Abkürzung für „Character to Date“ (Zeichen in Datum).
Beispiel
Das Feld Einreichungsdatum enthält den Wert "April 25, 2016". Sie müssen ihn in Datumzeit-Daten konvertieren.
COMMENT gibt `20160425` zurück
ASSIGN v_Datumsformat = "mmm tt, jjjj"
CTOD(Einreichungsdatum; v_Datumsformat)
DATE( )
Extrahiert das Datum eines spezifizierten Datums oder einer Datumzeit und gibt dieses als Zeichenfolge wieder. Kann ebenfalls das aktuelle Datum des Betriebssystems wiedergeben.
Beispiel
Das Feld Einreichungsdatum enthält den Wert `20160425`. Sie müssen ihn in Zeichendaten konvertieren.
COMMENT gibt "04/25/2016" zurück
ASSIGN v_Datumsformat = "MM/TT/JJJJ"
DATE(Einreichungsdatum; v_Datumsformat)
Führende Nullen hinzufügen
Konvertiert numerische Daten in Zeichendaten und fügt der Ausgabe vorangestellte Nullen hinzu, wenn Sie Felder harmonisieren müssen, die führende Nullen erfordern.
ZONED( )
Konvertiert numerische Daten in Zeichendaten und fügt der Ausgabe vorangestellte Nullen hinzu.
Beispiel
Das Feld Mitarbeiternummer enthält den Wert "254879". Sie müssen den Wert in eine Zeichenfolge mit zehn Stellen und führenden Nullen konvertieren.
Tipp
Sie müssen mit der VALUE()-Funktion Zeichendaten in numerische Daten umwandeln, bevor Sie die numerischen Daten als Eingabe für ZONED() verwenden können.
COMMENT gibt "0000254879" zurück
ASSIGN v_Zeichenfolgenlänge = 10
ASSIGN v_Anz_Dezimalen = 0
ZONED(VALUE(Mitarbeiternummer; v_Anz_Dezimalen); v_Zeichenfolgenlänge)
BINTOSTR( )
Gibt Unicode-Zeichendaten zurück, die aus ZONED- oder EBCDIC-Zeichendaten konvertiert wurden. Abkürzung für „Binary to String“ (Binär in Zeichenfolge).
Hinweis
Nur Unicode-Edition. Im Fall von Nicht-Unicode-Editionen siehe ZONED() weiter oben.
Beispiel
Das Feld Mitarbeiternummer enthält den Wert "254879". Sie müssen den Wert in eine Zeichenfolge mit zehn Stellen und führenden Nullen konvertieren.
Tipp
Sie müssen mit der VALUE()-Funktion Zeichendaten in numerische Daten umwandeln, bevor Sie die numerischen Daten als Eingabe für ZONED() verwenden können. Verwenden Sie dann BINTOSTR() für die Umwandlung der von ZONED() zurückgegebenen ASCII-Daten in das Unicode-Format.
COMMENT gibt "0000254879" zurück
ASSIGN v_Zeichenfolgenlänge = 10
ASSIGN v_Anz_Dezimalen = 0
ASSIGN v_Zeichenfolgentyp = "A"
BINTOSTR(ZONED(VALUE(Mitarbeiternummer; v_Anz_Dezimalen); v_Zeichenfolgenlänge); v_Zeichenfolgentyp)
Datenzeitbestandteile extrahieren
Verwenden Sie diese Funktionen, um bestimmte Komponenten eines Datumzeit-Werts zu isolieren und zu extrahieren.
MONTH( )
Extrahiert den Monat eines spezifizierten Datums oder einer Datumzeit und gibt ihn als numerischen Wert wieder (1 bis 12).
Beispiel
Das Feld Transaktionsdatum enthält den Wert `20160815 100252`. Sie müssen den Monat als Zeichendaten mit einer führenden Null extrahieren.
COMMENT gibt "08" zurück
ASSIGN v_Zeichenfolgenlänge = 2
ZONED(MONTH(Transaktionsdatum); v_Zeichenfolgenlänge)
DAY( )
Extrahiert den Tag des Monats für ein spezifiziertes Datum oder eine Datumzeit und gibt ihn als numerischen Wert wieder (1 bis 31).
Beispiel
Das Feld Transaktionsdatum enthält den Wert `20160815 100252`. Sie müssen den Tag als Zeichendaten extrahieren.
COMMENT gibt "15" zurück
ASSIGN v_Zeichenfolgenlänge = 2
STRING(DAY(Transaktionsdatum); v_Zeichenfolgenlänge)
YEAR( )
Extrahiert das Jahr eines spezifizierten Datums oder einer Datumszeit und gibt dieses als numerischen Wert im Format JJJJ zurück.
Beispiel
Das Feld Transaktionsdatum enthält den Wert `20160815 100252`. Sie müssen das Jahr als einen numerischen Wert extrahieren.
COMMENT gibt "2016" zurück
YEAR(Transaktionsdatum)
HOUR( )
Extrahiert die Stunde einer spezifizierten Uhrzeit oder einer Datumzeit und gibt diese als numerischen Wert unter Verwendung des 24-Stundenformats wieder.
Beispiel
Das Feld Transaktionsdatum enthält den Wert `20160815 100252`. Sie müssen die Stunden als einen numerischen Wert extrahieren.
COMMENT gibt "10" zurück
HOUR(Transaktionsdatum)
MINUTE( )
Extrahiert die Minuten einer spezifizierten Uhrzeit oder einer Datumzeit und gibt diese als numerischen Wert wieder.
Beispiel
Das Feld Transaktionsdatum enthält den Wert `20160815 100252`. Sie müssen die Minuten als einen numerischen Wert extrahieren.
COMMENT gibt "2" zurück
MINUTE(Transaktionsdatum)
SECOND( )
Extrahiert die Sekunden einer spezifizierten Uhrzeit oder einer Datumzeit und gibt diese als numerischen Wert wieder.
Beispiel
Das Feld Transaktionsdatum enthält den Wert `20160815 100252`. Sie müssen die Sekunden als einen numerischen Wert extrahieren.
COMMENT gibt "52" zurück
SECOND(Transaktionsdatum)
CDOW( )
Gibt den Namen des Wochentags für eine angegebene Datumzeit zurück. Abkürzung für „Character Day of Week“ (Zeichen Wochentag).
Beispiel
Das Feld Transaktionsdatum enthält den Wert `20160815 100252`. Sie müssen den Tagesnamen als Zeichendaten extrahieren.
COMMENT gibt "Mon" zurück
CDOW(Transaktionsdatum; 3)
CMOY( )
Gibt den Monat eines Jahres für eine angegebene Datumzeit wieder. Abkürzung für „Character Month of Year“ (Zeichen Monat des Jahres).
Beispiel
Das Feld Transaktionsdatum enthält den Wert `20160815 100252`. Sie müssen den Monatsnamen als Zeichendaten extrahieren.
COMMENT gibt "Aug" zurück
CMOY(Transaktionsdatum; 3)
Zeichenfolgen bearbeiten
Entfernen oder ersetzen Sie Segmente aus Zeichenfeldern mit den folgenden Funktionen.
INCLUDE( )
Gibt eine Zeichenfolge zurück, die nur die angegebenen Zeichen enthält.
Beispiel
Das Feld Adresse enthält den Wert "12345 ABC Corporation". Sie müssen die Adressnummer extrahieren und den Namen der Gesellschaft ausschließen.
COMMENT gibt "12345" zurück
ASSIGN v_zurückzugebende_Zeichen = "0123456789"
INCLUDE(Adresse; v_zurückzugebende_Zeichen)
EXCLUDE( )
Gibt eine Zeichenfolge ohne die angegebenen Zeichen zurück.
Beispiel
Das Feld Adresse enthält den Wert "12345 ABC Corporation". Sie müssen den Namen der Gesellschaft extrahieren und die Adressnummer ausschließen.
COMMENT gibt "ABC Corporation" zurück
ASSIGN v_auszuschließende_Zeichen = "0123456789"
EXCLUDE(Adresse; v_auszuschließende_Zeichen)
REPLACE( )
Ersetzt alle Instanzen einer angegebenen Zeichenfolge durch eine neue Zeichenfolge.
Beispiel
Das Feld Adresse enthält den Wert "12345 Acme&Sons". Sie müssen das Zeichen „&“ durch das Wort „ and “ ersetzen
COMMENT gibt "12345 Acme and Sons" zurück
ASSIGN v_Zielzeichen = "&"
ASSIGN v_Ersatzzeichen = " and "
REPLACE(Adresse; v_Zielzeichen; v_Ersatzzeichen)
OMIT( )
Gibt eine Zeichenfolge an, bei der eine oder mehrere angegebene Teilzeichenfolgen entfernt werden.
Beispiel
Das Feld Adresse enthält den Wert "12345 Fake St". Sie müssen die Adresse ohne den Straßensuffix extrahieren.
COMMENT gibt "12345 Fake" zurück
ASSIGN v_auszulassende_Zeichen = "St"
OMIT(Adresse; v_auszulassende_Zeichen)
REVERSE( )
Gibt eine Zeichenfolge zurück, die alle Zeichen in umgekehrter Reihenfolge enthält.
Beispiel
Das Feld Berichtszeile enthält den Wert "001 Correction 5874.39 CR ". Sie müssen den Wert umkehren und dabei alle führenden oder nachgestellten Leerzeichen auslassen.
COMMENT gibt "RC 93,4785 noitcerroC 100" zurück
REVERSE(ALLTRIM(Berichtszeile))
BLANKS( )
Gibt eine Zeichenfolge mit einer angegebenen Anzahl von Leerzeichen zurück.
Beispiel
Sie müssen ein Kalkulationsfeld für eine Region auf Basis des Werts im Feld Regionskennungerstellen. Dabei müssen Sie sicherstellen, dass der Standardwert, den Sie am Ende des Befehls festlegen, mindestens so lang wie der längste Eingabewert ist.
COMMENT BLANKS gibt eine Zeichenfolge mit 8 " "-Zeichen zurück
ASSIGN v_Länge = 8
DEFINE FIELD Region COMPUTED
"Süden" IF Regionskennung = 1
"Norden" IF Regionskennung = 2
"Osten" IF Regionskennung = 3
"Westen" IF Regionskennung = 4
BLANKS(v_Länge)