Bisher wurde Ihnen gezeigt, wie Felder und Literalwerte als Eingaben für Funktionen verwendet werden können. Dieser Ansatz ist recht einfach und in vielen Situationen ist das alles, was Sie in Analytics benötigen.
In Analytics-Skripts werden in der Regel Variablen (nicht Felder oder Literalwerte) als Funktionseingaben verwendet.Analytics
In diesem Tutorial schauen wir uns an, wie Variablen mit einer Funktion verwendet werden. Das Tutorial wird mit einem einfachen Skript abgeschlossen, das eine Funktion mit Variablen als Eingabewerte beinhaltet. Die Variablen ermöglichen einem Benutzer, tatsächliche Eingabewerte interaktiv festzulegen.
Was sind Variablen und warum sind sie hilfreich?
Sie können sich eine Variable als einen Container mit einem Namen im Computerspeicher vorstellen. Den Namen legen Sie fest, wenn Sie die Variable erstellen. Die Variable kann temporär oder auch permanenter jeglichen Wert speichern, den ein Benutzer festlegt oder auswählt.
Variablen haben zwei sehr nützliche Merkmale:
- Flexiblität Durch Variablen wird ein Skript wesentlich flexibler.
Ein Skript kann Variablen verwenden, damit Benutzer gewünschte Feldnamen oder Datumswerte auswählen oder festlegen können, sodass keine spezifischen Feldnamen und keine bestimmten Mengen an Datumswerten notwendig sind.
- Klarheit Durch Variablen verbessert sich die Verständlichkeit eines Skripts, wenn Sie es überprüfen oder aktualisieren.
Es ist wesentlich einfacher, eine aussagekräftig benannte Variable als Funktionseingaben zu verstehen als ein Fragment an Rohdaten. Den Unterschied erkennen Sie an den folgenden zwei Beispielen für die BETWEEN( )-Funktion.
Weitere Informationen finden Sie unter Mit Variablen in ACLScript arbeiten.
BETWEEN( ) ohne Variablen
Wir kehren zu dem BETWEEN( )-Beispiel zurück, das wir zur Erstellung eines Filters in einem früheren Tutorial verwendet haben:
BETWEEN(Rechnungsdatum; `20000101`; `20000331`)
Der Filter beschränkt die Datensätze im Feld „Rechnungsdatum“ auf das erste Quartal des Jahres 2000.
Diese Version der BETWEEN( )-Funktion ist in Ordnung, falls es uns nichts ausmacht, den Feldnamen und die Werte für das Start- und Enddatum jedes Mal manuell zu ändern, falls wir die Funktion mit unterschiedlichen Vorgaben verwenden möchten.
Was passiert aber, wenn wir diesen Filter einem Skript beifügen möchten, das durch andere Benutzer mit unterschiedlichen Daten ausgeführt wird, wenn diese Benutzer nicht wissen, wie sie die Funktionseingaben aktualisieren können?
Beachten Sie auch, dass Sie durch eine ausschließliche Betrachtung der Rohdaten nicht mit Sicherheit den Zweck der Funktionseingaben erkennen können.
BETWEEN( ) mit Variablen
Anstatt tatsächliche Feld- und Literaldatenwerte als Eingaben für die BETWEEN( )-Funktion festzulegen, können Sie Variablen verwenden:
BETWEEN(v_Datumsfeld; v_Startdatum; v_Enddatum)
Zusammen mit einem interaktiven Skript ermöglicht diese Version der BETWEEN( )-Funktion dem Benutzer selbst, ein gewünschtes Datumsfeld auszuwählen und die beiden Grenzdatumswerte festzulegen.
Beachten Sie auch, dass Sie den Zweck jeder Eingabe einfach dadurch erkennen, dass Sie die Funktion anschauen.
Hinweis
Es ist eine Konvention, dass Skriptautoren Variablennamen mit dem Kürzel „v_“ beginnen. Auf diese Weise sieht man in einem komplexen Skript leicht, wann ein Variablenname vorliegt und wann nicht.
Fazit
Durch die Verwendung von Variablen können Sie Funktionen auf breiterer und flexiblerer Basis nutzen.
BETWEEN( )-Funktion mit Variablen testen
Sie können die BETWEEN( )-Funktion in der Analytics-Befehlszeile testen, um zu sehen, wie die Variablen funktionieren.
Wie man Funktionen in der Befehlszeile testet, wird ausführlich in einem vorherigen Tutorial erläutert: Unterschiedliche Funktionen kennenlernen.
Variablen erstellen
- Klicken Sie in Analytics unten im Navigator auf die Registerkarte Variablen.
Die Registerkarte Variablen zeigt alle Variablen an, die aktuell in einem Analytics-Projekt existieren, sowie den aktuellen Wert jeder Variablen.
- Erstellen Sie die drei Beispielvariablen, indem Sie die folgenden Variablendefinitionen jeweils nacheinander in die Befehlszeile eingeben:
- v_Datumsfeld = `20170715`
In diesem Beispiel weisen wir der Variable v_Datumsfeld lediglich einen einzelnen Literalwert statt ein tatsächliches Feld zu.
- v_Startdatum = `20170701`
- v_Enddatum = `20170731`
In der Registerkarte Variablen sollten Sie die drei Variablen mit den zugewiesenen Werten sehen, die Sie gerade erstellt haben.
- v_Datumsfeld = `20170715`
BETWEEN( ) testen
- Fügen Sie das folgende Beispiel für BETWEEN( ) in die Befehlszeile ein:
BETWEEN(v_Datumsfeld; v_Startdatum; v_Enddatum)
- Schreiben Sie DISPLAY und ein Leerzeichen vor das Beispiel, und drücken Sie die Eingabetaste.
Auf Basis der Werte der Variablen sollte das Ergebnis T für „True“ (wahr) lauten:
Der 15. Juli 2017 liegt zwischen dem angegebenen Start- und Enddatum.
Ergebnis der Änderung eines der Variablenwerte betrachten
- Aktualisieren Sie den Wert von v_Startdatum, indem Sie den folgenden Text in die Befehlszeile eingeben:
v_Startdatum = `20170716`
In der Registerkarte Variablen sollten Sie sehen, dass der Wert in v_Startdatum auf den 16. Juli 2017 aktualisiert wurde, der hinter dem Wert in v_Datumsfeld liegt.
- Führen Sie die Funktion BETWEEN( ) erneut in der Befehlszeile aus.
Auf Basis der Werte der Variablen sollte das Ergebnis F für „False“ (falsch) lauten:
Der 15. Juli 2017 liegt nicht zwischen dem angegebenen Start- und Enddatum.
Die Funktion BETWEEN( ) in einem Skript testen
Das folgende einfache Skript ermöglicht einem Benutzer, einen Datumsfilter auf eine beliebige Analytics-Tabelle mit einem Datumsfeld anzuwenden.
Sie müssen sich keine Sorgen machen, falls Sie nicht die gesamte Skriptsyntax verstehen. Wir möchten hauptsächlich veranschaulichen, wie sich die BETWEEN( )-Funktion in einem Skript verhält.
Ein Kommentar (COMMENT) vor jedem Abschnitt mit Skriptsyntax erläutert in einfachen Worten, was die Syntax tut. Die Funktionen sind braun hervorgehoben.
Wie das Beispielskript in Analytics ausgeführt wird
- Öffnen Sie ein Analytics-Projekt, das ein oder mehrere Tabellen mit Datumsfeldern enthält.
Beispielprojekt.ACL weist mehrere Tabellen mit Datumsfeldern auf.
- Erstellen Sie ein neues, leeres Skript:
- Klicken Sie im Navigator mit der rechten Maustaste auf einen Ordner oder den Projekteintrag auf oberster Ebene, und wählen Sie Neu > Skript.
- Kopieren Sie das gesamte folgende Skript und fügen Sie es im Skript-Editor in das neue Skript ein.
- Speichern Sie das Projekt.
- Klicken Sie auf Ausführen
, um das Skript auszuführen.
- Folgen Sie den Eingabeaufforderungen im Dialogfeld, um eine Tabelle und ein Datumsfeld auszuwählen. Geben Sie das Start- und Enddatum an.
Das Skript wird ausgeführt und filtert die ausgewählte Tabelle auf Basis des von Ihnen angegebenen Felds und der Datumswerte.
Tipp
Falls Sie eine leere Tabelle oder eine große Anzahl an Datensätzen erhalten, überprüfen Sie die Datumswerte der ungefilterten Tabelle und führen das Skript erneut mit Grenzdatumswerten aus, von denen Sie wissen, dass sie eine geringe Anzahl von Datensätzen abdecken.
Auf was Sie achten sollten
- Beachten Sie, dass die BETWEEN( )-Funktion in der gefilterten Tabelle innerhalb des Textfelds „Filter“ mit den tatsächlichen, von Ihnen angegebenen Eingabewerten erscheint.
- Überprüfen Sie die Registerkarte Variablen. Die Werte in den drei Beispielvariablen werden zur Ausführung des Skripts mit den von Ihnen ausgewählten und festgelegten Werten aktualisiert.
Beispielskript: Datensätze nach Datum filtern
Das Beispielskript filtert die Datensätze in einer Tabelle nach dem Datum und verwendet hierbei die von Ihnen festgelegten Datumswerte.
Hinweis
Ihnen fällt möglicherweise auf, dass die Funktion CTOD( ) in der BETWEEN( )-Funktion verschachtelt ist. Die CTOD( )-Funktion konvertiert Zeichenwerte in Datumswerte, was in dieser Situation erforderlich ist.
Falls Sie mehr herausfinden möchten, lesen Sie ACCEPT-Befehl.
COMMENT
Dieses einfache Skript ermöglicht Ihnen, einen Datumsfilter auf eine beliebige Analytics-Tabelle mit einem Datumsfeld anzuwenden.
END
COMMENT Fordert Sie auf, eine Tabelle im Analytics-Projekt auszuwählen.
ACCEPT "Wählen Sie eine Tabelle mit einem Datumsfeld aus:" FIELDS "xf" TO v_Tabellenname
COMMENT Öffnet die ausgewählte Tabelle.
OPEN %v_Tabellenname%
COMMENT Fordert Sie auf, ein Feld aus der Tabelle auszuwählen.
ACCEPT "Wählen Sie ein Datumsfeld aus:" FIELDS "D" TO v_Datumsfeld
COMMENT Fordert Sie auf, das Start- und Enddatum des Filters festzulegen.
ACCEPT "Geben Sie ein Startdatum ein (JJJJMMTT):" TO v_Startdatum ACCEPT "Geben Sie ein Enddatum ein (JJJJMMTT):" TO v_Enddatum
COMMENT Wendet den Filter auf die Tabelle und das von Ihnen gewählte Feld an.
SET FILTER TO BETWEEN(%v_Datumsfeld%; CTOD(%v_Startdatum%); CTOD(%v_Enddatum%))
Wie geht es weiter?
Schauen Sie sich ein Skript an, das mehrere Funktionen nutzt, um eine reale Anwendung durchzuführen, und führen Sie das Skript dann aus: Alles zusammen: Funktionen in einem Skript nutzen