PYSTRING( )-Funktion

Gibt einen Zeichenwert zurück, der durch eine Funktion in einem externen Python-Skript berechnet wurde. Die Datenverarbeitung in Python erfolgt außerhalb von Analytics.

Syntax

PYSTRING("PyDatei;PyFunktion"; Länge <;Feld|Wert <;...n>>)
Name Typ Beschreibung
PyDatei;PyFunktion

Zeichen

Der Name des auszuführenden Python-Skripts, gefolgt von einem Komma und dem Namen der Funktion, die den Wert zurückgibt:

"meinSkript,meineFunktion"

Lassen Sie die Dateierweiterung aus, wenn Sie ein Python-Skript festlegen. Die Funktion, die Sie aufrufen, kann andere Funktionen innerhalb des Skripts oder innerhalb anderer Skripts aufrufen. Alle auszuführenden Skripts müssen aber vor ihrer Ausführung in einen Ordner gestellt werden, der sich in der Systemumgebungsvariable PYTHONPATH befindet.

Weitere Informationen finden Sie unter Python für die Verwendung mit Analytics konfigurieren.

Hinweis

Ihre PyFunktion muss ein numerisches Python-Zeichenfolgenobjekt zurückgeben.

Länge numerisch Die Länge, die der Rückgabezeichenfolge zuzuweisen ist.
Feld |Wert <;...n>

Optional

Zeichen

numerisch

Datumzeit

logisch

Die Liste von Feldern, Ausdrücken oder Literalwerten, die als Argumente für die Python-Funktion zu verwenden sind. Die Werte werden in der Reihenfolge an die aufgerufene Funktion übergeben, in der Sie sie auflisten.

Sie können so viele Argumente aufnehmen, wie es für die Funktionsdefinition innerhalb des Python-Skripts notwendig ist.

Hinweis

Verwenden Sie die ALLTRIM()-Funktion zum Entfernen von führenden oder nachgestellten Leerzeichen in der Zeicheneingabe: ALLTRIM(Zeichenfolge). Weitere Informationen finden Sie unter ALLTRIM( )-Funktion.

Ausgabe

Zeichen.

Beispiele

Einfache Beispiele

Gibt „my test“ zurück:

PYSTRING('hello,main'; 20; "my")

Externes Python-Skript, das eine Zeichenfolge entgegennimmt und „ test“ an die Zeichenfolge anhängt.

#! python
# hello.py content
def main(str):
    str2 = str + ' test'
    return(str2)

Weiterführende Beispiele

Eine Teilzeichenfolge zurückgeben

Dieses Beispiel entfernt die letzten beiden Zeichen aus dem Lieferantennamenfeld und gibt die Teilzeichenfolge zurück:

PYSTRING( "hello;sub_set"; LENGTH(Lieferantenname); ALLTRIM(Lieferantenname); LENGTH(ALLTRIM(Lieferantenname)); 0; LENGTH(ALLTRIM(Lieferantenname)) - 2)

Externes Python-Skript nimmt eine Zeichenfolge, eine Zeichenfolgenlänge und zwei Zeichenpositionen entgegen. Die Funktion gibt eine Teilzeichenfolge zwischen Position 1 und Position 2 zurück:

# hello.py content
def sub_set(str, length, p1, p2):
if p1 >= 0 and p2 < length and p1 < p2:
    str2 = str[p1:p2]
else:
    str2 = str
return str2
Leitfaden für die Skripterstellung in ACL 14.1