Liefert alle einer Person zuordenbaren Statistikdaten in einem Zeitraum zurück, die in „DSS_StatisticData“ gespeichert sind.
Man kann somit nachvollziehen, auf welchem Weg sich eine Person in der Frontend-Anwendung (z.B. Webseiten) bewegt hat, sprich man erhält einen sogenannten „Click-Stream“. Darunter sind letztlich die in „DSS_StatisticData“ gesammelten Statistiken („Views“, Bestellungen etc.) zu verstehen, die in eine zeitliche Reihenfolge gebracht wurden.
Dazu müssen natürlich die Daten zuvor entsprechend gesammelt werden. Produkte, die in den Warenkorb gelegt werden, sowie Bestellungen von Artikeln registriert der „dStore“ automatisch; dagegen müssen Produktansichten (oder andere Aufrufe/Ansichten in der Anwendung) explizit durch st_InsertPageHit_Pu bzw. st_InsertTreeNodeHits_Pu gespeichert werden.
Die Statistiken sind zum Teil Besucher-, zum Teil Personen-bezogen. Die sogenannten „Clicks“ oder „Views“ (Aufrufe von Produktansichen z.B.), die explizit durch die bereits erwähnten Prozeduren registriert werden müssen, sind „anonym“, d.h. nur Besuchern zugeordnet. Sobald sich eine Person allerdings identifiziert, wird diese dem aktuellen Besucher (der „VisitorID“ bzw. der „UniqueID“) zugeordnet (s.a. Beschreibung zu pm_CheckPersonIdentity_Pu).
Aus diesem Grund ermittelt die Prozedur zunächst die Besucher, die der angegebenen Person im gewünschten Zeitraum zugeordnet sind und führt dann die Statistiken dieser Besucher mit den Statistiken zur Person zusammen. Ob eine statistische Information aus der Tabelle „DSS_StatisticData“ zu einem Besucher oder zu einer Person gehört, ist jeweils zu Basis-Kennzahl hinterlegt (siehe Rückgabespalte „PersonIDRequired“ von st_GetBasicCharacteristics_Ad).
Seit Version 4.0.8 kann man die Sichtweise auch umkehren und sich den „ClickStream“ eines Besuchers anzeigen lassen. Außerdem ist es möglich, den „ClickStream“ mehrerer Personen bzw. Besucher ermitteln zu lassen.
HTTP-Method | GET |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | statistics |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
PersonID | ID einer Person, für die der „ClickStream“ ermittelt werden soll. Wird nur beachtet, wenn „VisitorOrPersonIDsInOneID = 0“ ist ! | integer | 3.5.0 | |
FromDate | Start-Zeitpunkt des zu untersuchenden Zeitraums | datetime | 3.5.0 | |
ToDate | End-Zeitpunkt des zu untersuchenden Zeitraums | datetime | 3.5.0 | |
VisitorID | NULL | ID eines Besuchers. Wird nur beachtet, wenn „VisitorOrPersonIDsInOneID = 0“ ist und für „PersonID“ „NULL“ angegeben wird ! Falls angegeben, wird der „ClickStream“ dieses Besuchers ermittelt. | integer | 4.0.8 |
VisitorOrPersonIDsInOneID | 0 | „1“ : Es wir der „ClickStream“ zu den in „tempdb.dbo.OneID“ angegeben „PersonID“s (Personen) ermittelt „2“ : Es wir der „ClickStream“ zu den in „tempdb.dbo.OneID“ angegeben „VisitorID“s (Besuchern) ermittelt | tinyint | 4.0.8 |
ConsiderOnlyRelationPeriod | 1 | „0“ angeben, damit die Statistiken des zugeordneten Besuchers (bzw. umgekehrt der zugeordneten Person) über den gesamten Zeitraum „FromDate“ bis „ToDate“ im „ClickStream“ sind (und nicht nur die Daten zu Zeitpunkten, an denen die Zuordnung gültig war) | bit | 4.0.8 |
BasicCharacteristicNumbers | NULL | Liste, die IDs der Basis-Kennzahlen (durch '¶' getrennt) enthält, zu denen Statistiken im „ClickStream“ berücksichtigt sein sollen (mögliche Werte : s. st_GetBasicCharacteristics_Ad). Bei „NULL“ werden alle Basis-Kennzahlen herangezogen. | varchar(100) | 4.0.8 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
IsVisitorID5) | Ist in Version 4.0.8 weggefallen | bit | 3.5.0 |
VisitorOrPersonID | Falls „VisitorOrPersonIDsInOneID = 0“ ist, steht hier die „PersonID“ bzw. die „VisitorID“, sonst eine der IDs, die in „tempdb.dbo.OneID“ übergeben wurden | integer | 3.5.0 |
RelatedID | Immer „NULL“, wenn „ValueBelongsToRelatedID = 0“ ist. Ansonsten steht hier die ID des zugeordneten Besuchers bzw. der zugeordneten Person, zu der die statistische Information „Value“ gespeichert ist | integer | 4.0.8 |
DateAndTime | Zeitpunkt der statistischen Information „Value“ zur Basis-Kennzahl „BasicCharacteristicNumber“ | datetime | 3.5.0 |
RelationExistsAtDateAndTime | „1“, falls zum Zeitpunkt „DateAndTime“ zwischen „VisitorOrPersonID“ und „RelatedID“ eine Zuordnung bestand | bit | 4.0.8 |
DateAndTime_char | „DateAndTime“ als „string“ im Format „15.04.2001 14:32:55:250“ | varchar(23) | 4.0.8 |
HTreeNodeID | ID eines Elementes aus „HistoryTreeView“ (in dieser ist die Historie des gesamten Artikelbaums abgebildet), zu dem die statistische Information „Value“ (zum Zeitpunkt „DateAndTime“ in der Tabelle „DSS_StatisticData“) gespeichert ist | integer | 4.0.8 |
NodeID | ID des zur „HTreeNodeID“ zugehörigen Artikel-Elementes (auf das sich die statistische Information bezieht) | integer | 4.0.8 |
NodeDescription | Bezeichnung von „NodeID“. Entweder die Produktbezeichnung in der Standardsprache zum Zeitpunkt „DateAndTime“ oder (falls nicht vorhanden) die „NodeDescription“ (aus der Tabelle „dStore“). | varchar(1000) | 3.5.0 |
BasicCharacteristicNumber | Nummer der Basis-Kennzahl, auf die sich die Information „Value“ bezieht (mögliche Werte : siehe st_GetBasicCharacteristics_Ad) | tinyint | 3.5.0 |
BasicCharacteristic | Kurzbezeichnung der Basis-Kennzahl „BasicCharacteristicNumber“ | varchar(25) | 3.5.0 |
Value | Die gespeicherte statistische Information zur Basis-Kennzahl „BasicCharacteristicNumber“, z.Zt. entweder eine Anzahl (für die Basis-Kennzahl „Views“ z.B.) oder ein Betrag in der Standardwährung (für die Basis-Kennzahl „Bestellumsatz“) | decimal(12,2) | 3.5.0 |
ValueBelongsToRelatedID | „0“ : „Value“ ist zur „VisitorOrPersonID“ gespeichert „1“ : „Value“ ist zur „RelatedID“ gespeichert | bit | 4.0.8 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 6) |
---|---|---|
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-569 | Der Benutzer hat kein Ausführungsrecht für die Prozedur | nur indirekt |
-567 | Die Prozedur darf z. Zt. nicht ausgeführt werden | nur indirekt |
-566 | Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden | nur indirekt |
-550 | Fehlender oder falscher Eintrag in Settings | direkt und indirekt |
-535 | Das Datum liegt nicht in der Vergangenheit | nur indirekt |
-530 | Der Wert ist nicht konvertierbar | nur indirekt |
-510 | Der Benutzer ist nicht registriert | nur indirekt |
-504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | nur indirekt |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-500 | Falsche Parameter | direkt und indirekt |
-286 | Der Benutzer hat nicht die Berechtigung(en), Eigenschaften zu diesem(n) Merkmal(en) zu lesen/ändern | nur indirekt |
-284 | Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu modifizieren | nur indirekt |
-283 | Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu ermitteln | nur indirekt |
-220 | Es konnte keine Merkmal-ID für die Produktbezeichnung ermittelt werden | nur indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
7.0.1 | 2013-08-07 | 1. Datentyp der Rückgabespalte „NodeDescription“ hat sich erweitert ⇒ Auch Anpassung der Doku 2. Anpassungen des Quellcodes an den aktuellen Standard |
6.5.4 | 2013-04-29 | Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung |
5.1.5 | 2006-08-29 | Fehler : „LockedNodeCharacteristics“ wurde bisher GAR NICHT beachtet ! |
5.1.1 | 2006-04-05 | Optimierung des Zugriffs auf „NodeProperties“ (bedingt durch die Änderung dieser Tabelle in 5.1.0) |
4.0.9 | 2004-03-03 | 1. Verwendung von „_mi_ChooseParamValueSeperator“ als Vorbereitung von „_mi_StartProcedure“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur |
4.0.8 | 2004-02-20 | 1. Aufruf der Prozeduren „_mi_StartProcedure“ und „_mi_FinishProcedure“ 2. Neue Parameter „VisitorID“, „VisitorOrPersonIDsInOneID“, „ConsiderOnlyRelationPeriod“ und „BasicCharacteristicNumbers“ 3. Komplette Änderung der Rückgabemenge |
4.0.1 | 2003-05-16 | 1. Ab jetzt wird berücksichtigt, daß in „NodeProperties“ auch Gültigkeitszeiträume in der Zukunft vorhanden sein können ! 2. Ermittlung des „Produktbez…“-Merkmals in der Standardsprache durch „_im_GetProductDescrCharacID“ |
3.5.0 | 2000-11-23 | Erstmalig in dieser Version erstellt |
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
Unformatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/st_GetClickStream_Ad?PersonID=<value>&FromDate=<value>&ToDate=<value>'
Mit xmllint 7) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/st_GetClickStream_Ad?PersonID=<value>&FromDate=<value>&ToDate=<value>' | xmllint --format -
use dStore_php\WebService; $service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80); $request = new WebService\Requests\Engine\Procedure\Request( new WebService\Requests\AccessData('default'), 'st_GetClickStream_Ad', array( 'PersonID' => <value>, 'FromDate' => <value>, 'ToDate' => <value>, // 'VisitorID' => NULL, // 'VisitorOrPersonIDsInOneID' => 0, // 'ConsiderOnlyRelationPeriod' => 1, // 'BasicCharacteristicNumbers' => NULL ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray();
XML zur Ausführung mit der Methode engine/execute, z.B. per
curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>'
<?xml version="1.0" encoding="UTF-8"?> <ListOfBatches> <Batch No="0"> <Procedure Name="st_GetClickStream_Ad"> <Parameters> <Parameter Name="PersonID"><!-- integer value --></Parameter> <Parameter Name="FromDate"><!-- datetime value --></Parameter> <Parameter Name="ToDate"><!-- datetime value --></Parameter> <!-- <Parameter Name="VisitorID">NULL</Parameter> --> <!-- <Parameter Name="VisitorOrPersonIDsInOneID">0</Parameter> --> <!-- <Parameter Name="ConsiderOnlyRelationPeriod">1</Parameter> --> <!-- <Parameter Name="BasicCharacteristicNumbers">NULL</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>