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