Grundlagen von Analytics-Skripts

ACLScript ist eine Befehlssprache, die Ihnen eine Programmierung und Automatisierung von Analytics-Befehlen ermöglicht. Die Struktur und Komponenten von ACLScript sind einfach, aber leistungsfähig.

Hinweis

Falls Sie noch nie ein Skript geschrieben haben, könnten Sie zuerst der Akademie einen Besuch abstatten, bevor Sie sich in diese Inhalte vertiefen. Kurse über Skripts und die Verwendung von Analytics finden Sie unter www.highbond.com.

Befehle

Jede Zeile in einem Skript führt einen ACLScript-Befehl aus und beginnt mit dem Befehlsname. Ein Befehl ist eine Anweisung zur Ausführung einer Operation in Analytics.

Auf den Befehlsname folgen ein oder mehrere Parameter im Format Parametername Parameterwert.

Tipp

Je nach Befehl sind einige Parameter erforderlich und andere optional. Optionale Parameter müssen Sie nicht angeben. Wenn Sie diese Parameter weglassen, wird der Befehl ohne sie oder mit Standardwerten ausgeführt.

Beispiel für den CLASSIFY-Befehl

Das folgende Beispiel zeigt den CLASSIFY-Befehl mit den folgenden Parametern:

  • ON – Legt fest, welches Feld der Zieltabelle zu klassifizieren ist
  • SUBTOTAL – spezifiziert optionale Felder, für die in der Ausgabe eine Zwischensumme erstellt werden soll
  • TO – Gibt die Ausgabetabelle für die Ergebnisse des CLASSIFY-Befehls an

Beachten Sie, wie auf jeden Parameter ein oder mehrere Parameterwerte folgen:

Wichtige Anmerkungen zur Befehlssyntax

  • Das erste Wort in einer Skriptzeile muss immer der Befehlsname sein.
  • Bei den meisten Befehlen spielt die Reihenfolge der Parameter nach dem Befehlsnamen keine Rolle.
  • Die meisten Befehle erfordern, dass Sie die Zieltabelle vor der Ausführung des Befehls öffnen. Diesen Befehlen stellen Sie OPEN Tabellenname voraus.

Anmerkungen

Wie bei anderen Skriptsprachen können Sie in ACLScript mit dem Schlüsselwort COMMENT Kommentare hinzufügen. Verwenden Sie Kommentare, damit Ihr Code verständlicher wird und um mit Personen zu kommunizieren, die unter Umständen versuchen, Ihr Skript zu lesen, zu verwenden, zu verstehen oder zu aktualisieren. ACLScript unterstützt die folgenden beiden Kommentartypen:

  • Einzeilige Kommentare Der gesamte Text nach COMMENT wird ignoriert, bis das Ende der Zeile erreicht wird.
  • Mehrzeilige Kommentarblöcke beginnen mit COMMENT. Jede folgende Zeile wird ignoriert, bis das Schlüsselwort END oder eine Leerzeile erreicht wird.

Für weitere Informationen und Beispiele lesen Sie Anmerkungen.

Datentypen

ACLScript unterstützt vier grundlegende Datentypen:

  • logisch der einfachste Datentyp. Logische Daten geben einen Wahrheitswert wieder, sind also entweder „richtig“ (true) oder „falsch“ (false).
  • numerisch beinhalten Ziffern von 0 bis 9 und optional ein negatives Vorzeichen sowie ein Dezimalkomma.
  • Zeichen sind eine Reihe aus einem oder mehreren alphanumerischen Zeichen.
  • Datumzeit ein Datum-, Datumzeit- oder Zeitwert in einem unterstützten Format.

Jeder Datentyp wird durch Analytics unterschiedlich behandelt und kann in verschiedenen Befehlen und Funktionen verwendet werden. Genauere Informationen über Datentypen finden Sie unter Datentypen.

Ausdrücke

Ein Ausdruck ist eine beliebige Anweisung, die einen Wert aufweist oder erzeugt. Die einfachste Ausdrucksform ist ein Literalwert wie 2 oder "test". Ausdrücke stellen aber in der Regel Berechnungen dar und können durch eine zulässige Kombination aus Operatoren, Bedingungen, Funktionen und Werten beliebig komplex sein:

((2 + (3 - 2)) * 2) > ROOT(9;0)

Ausdrücke werden in Analytics in der Regel verwendet, um Kalkulationsfelder zu füllen, oder als Eingabe für Bedingungslogik. Weitere Informationen über Ausdrücke finden Sie unter Ausdrücke.

Funktionen

Funktionen sind eingebaute Routinen, die eine vorgegebene Anzahl von Parametern entgegennehmen und einen einzelnen Wert zurückgeben. Verwenden Sie Funktionen, um Feldinhalte und Variablen zu manipulieren, die in Befehlen verwendet werden.

Hinweis

Funktionen ändern keine Felddaten. Auf Basis einer Berechnung oder eines Algorithmus verwenden sie Felddaten oder Variablen als Eingabe und berechnen daraus einen neuen Wert, den sie dann zurückgeben. Verwenden Sie den zurückgegebenen Wert der Funktion als Eingabe für einen Befehl.

Funktionen beginnen mit dem Funktionsnamen. Darauf folgt unmittelbar eine öffnende Klammer, eine Liste aus null oder mehr durch Semikolons getrennte Werte, die als Argumente an die Funktion übergeben werden, und eine schließende Klammer:

Beispiel

Die Funktion BETWEEN(Wert; min; max) nimmt drei Argumente entgegen und gibt „wahr“ zurück, falls der Wert innerhalb des Bereichs liegt, bzw. „falsch“, falls er außerhalb des Bereichs liegt:

  • Wert – der zu testende Ausdruck oder das Feld
  • min – der Mindestwert des Bereichs
  • max – der Maximalwert des Bereichs
BETWEEN(Betrag;500;5000)

Weitere Informationen über Funktionen finden Sie unter Funktionen.

Variablen

Eine Variable ist ein temporärer Speicherort, der für einen Wert verwendet wird. Variablen haben einen zugehörigen Bezeichner, mit dem Sie auf sie verweisen und den im Computerspeicher gespeicherten Wert verwenden können.

ACLScript verwendet den Befehl ASSIGN, um eine Variable zu erstellen und ihr gleichzeitig einen Wert zuzuweisen:ACLScript

ASSIGN v_age_in_years = 3

Zur Vereinfachung können Sie das Schlüsselwort ASSIGN weglassen. ASSIGN wird aber implizit verwendet und es wird derselbe Befehl ausgeführt:

v_age_in_years = 3

Hinweis

ACLScript unterstützt keine leeren Werte. Alle Variablen müssen einen Wert in einem der unterstützten Datentypen aufweisen. Der Skriptinterpreter wertet den Datentyp durch das Datenformat und den Kennzeichner aus, die Sie bei der Wertzuweisung verwenden. Weitere Informationen finden Sie unter Datentypen.

Einsatz von Variablen

Nach der Erstellung einer Variable können Sie sie überall referenzieren, wo Sie auf Feldnamen oder Variablen verweisen. Sie können ihr auch mit dem Befehl ASSIGN einen neuen Wert zuweisen.

EXTRACT RECORD TO 'result.fil' IF age > v_age_in_years
v_age_in_years = 5

Sie können ebenfalls String-Interpolation oder Variablen-Substitution einsetzen, um eine Variable in ein Zeichenfolgenliteral einzufügen, indem Sie den Variablennamen in %-Zeichen einschließen. Wenn Analytics auf die substituierte Variable trifft, wird der Platzhalter durch seinen entsprechenden Wert ersetzt:

ASSIGN v_table = "erp_data"
OPEN %v_table%

Weitere Informationen über Variablen finden Sie unter Variablen.

Kontrollstrukturen

Eine Kontrollstruktur ist eine Komponente innerhalb eines Skripts, die entscheidet, welche Richtung in Abhängigkeit von vorgegebenen Parametern eingeschlagen wird. ACLScript stellt sowohl eine bedingte Logik als auch Schleifenstrukturen zur Verfügung.

Bedingte Logik

ACLScript implementiert bedingte Logik über einen IF-Befehl und als optionaler Parameter für viele Befehle in der Sprache.ACLScript

Tipp

Sie verwenden den IF-Befehl, um zu kontrollieren, ob ein Befehl ausgeführt wird oder nicht. Den IF-Parameter nutzen Sie, um zu entscheiden, für welche Datensätze in einer Tabelle ein Befehl ausgeführt wird.

IF-Befehl

IF v_Zähler > 10 CLASSIFY ON Kundennummer

IF-Parameter

CLASSIFY ON Kundennummer IF Staat = 'NY'

Schleifen

Der Befehl LOOP ist in ACLScript die Schleifenkontrollstruktur.ACLScript Dieser Befehl verarbeitet die Anweisungen innerhalb der Schleife, solange der Ausdruck des Kontrolltests wahr ist.

Weitere Informationen über Kontrollstrukturen finden Sie unter Kontrollstrukturen.