Liefert eine sogenannte Verlaufs-Statistik für Artikel-Elemente. Ein angegebener Zeitraum wird in Intervalle unterteilt (die Intervalle-Dauer kann ebenfalls angegeben werden) und für jedes Intervall gibt die Prozedur für Elemente einer bestimmten Hierarchie unterhalb eines Bereiches (→ „DomainTreeNodeID“) die Statistiken aus „DSS_StatisticData“ zu den Basis-Kennzahlen
zurück. Zusätzlich errechnet die Prozedur den sogenannten „VBO-Index“ („VBO“ steht für „View - Bying Interest - Order“), der einfach die drei Kennzahlen gewichtet (→ „Weight…“-Parameter) und zu einer Kennzahl zusammenfaßt.
Anmerkung zum Parameter „IncludeNodesWithoutTreeNodeID“ :
Die Daten in „DSS_StatisticData“ sind jeweils zu einer „HTreeNodeID“ (Erläuterungen siehe im_GetHTreeNodeID_Pu) gespeichert. Da es zu jeder „NodeID“ eine „HTreeNodeID“ gibt, der keine „TreeNodeID“ zugeordnet ist (um z.B. statistische Daten zu Elementen aus einem Suchergebnis speichern zu können), entscheidet „IncludeNodesWithoutTreeNodeID“, ob diese Elemente auch berücksichtigt werden sollen („1“) oder nicht („0“).
Hinweise :
1. Um solche Statistiken zu erhalten, muß die Tabelle „DSS_StatisticData“ durch Aufruf von st_CopyFromOLTPtoDSS_Ad in regelmäßigen Abständen gefüllt werden.
2. Zugrunde gelegt werden nur die Daten aus „DSS_StatisticData“ der letzten „Intervalls * MinutesPerIntervall“ Minuten seit dem letzten erfolgreichen Lauf von st_CopyFromOLTPtoDSS_Ad. Dazu schaut die Prozedur in der Tabelle „BatchJobs“ nach; falls dort der Status ungleich „0“ ist, wird „LastRun“ minus 1 Stunde genommen.
3. Sollten für den Zeitraum nicht mehr alle Daten vorhanden sein (das wird festgemacht am Eintrag in „Settings“ zu „MaxDaysInDSS_StatisticData“), bricht die Prozedur mit dem Return-Code “-410„ ab. Für diese Feststellung muß zusätzlich der letzte erfolgreiche Lauf des „GarbageCollectors“ ermittelt werden; sollte das nicht gehen (Eintrag nicht vorhanden oder Status ungleich „0“), gibt es den Fehler “-561„.
4. ACHTUNG : Es werden nur Elemente des AKTUELLEN Artikelbaums berücksichtigt !
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 |
---|---|---|---|---|
DomainTreeNodeID | 0 | ID eines Elementes im Artikelbaum, zu dessen Nachfolger (auf der Hierarchie „GroupByNodesOnLevel“) die Verlaufs-Statistiken ausgegeben werden sollen | integer | 3.5.5 |
Intervalls | 24 | Anzahl der zu bildenden Intervalle (Es werden die Daten aus „DSS_StatisticData“ der letzten „Intervalls * MinutesPerIntervall“ Minuten herangezogen) | tinyint | 3.5.5 |
MinutesPerIntervall | 60 | Länge eines Intervalls in Minuten (Es werden die Daten aus „DSS_StatisticData“ der letzten „Intervalls * MinutesPerIntervall“ Minuten herangezogen) | smallint | 3.5.5 |
GroupByNodesOnLevel | 5 | Es werden nur Elemente unterhalb von „DomainTreeNodeID“ berücksichtigt, die diese Hierarchie besitzen | tinyint | 3.5.5 |
IsLevelID | 1 | Bei „GroupByNodesOnLevel“ handelt es sich um… „0“ : die Nummer einer Hierarchie („LevelNo“) „1“ : die ID einer Hierarchie („LevelID“) | bit | 3.5.5 |
GroupByNodeCharacteristicID | NULL | ID eines Merkmal. Falls angegeben, werden die Elemente unterhalb von „DomainTreeNodeID“ nach den Eigenschaften zu diesem Merkmal gruppiert und der Verlauf der Kennzahlen pro Eigenschaft gebildet (siehe Rückgabespalten „TrendOf…“). | smallint | 3.5.5 |
OnlyValuesInOneID | 0 | Falls „1“, werden die Elemente unterhalb von „DomainTreeNodeID“ nach den in „tempdb.dbo.OneID“ angegeben Eigenschaften („ValueID“s) gruppiert und der Verlauf der Kennzahlen pro Eigenschaft gebildet (siehe Rückgabespalten „TrendOf…“). | bit | 3.5.5 |
IDsInOneIDAreTreeNodeIDs | 0 | Möchte man eine Verlaufs-Statistik von best. Elementen (also nicht von allen Elementen einer Hierarchie unter „DomainTreeNodeID“) erhalten, ist hier und für „OnlyValuesInOneID“ „1“ zu übergeben; in „tempdb.dbo.OneID“ werden dann „TreeNodeID“s erwartet. | bit | 3.5.5 |
Weight_Views | 0.2 | Gewichtung (Wert zwischen 0 und 1) der „Views“ (Summen zur Kennzahl mit „BasicCharacteristicNumber = 1“) für den „VBO-Index“ (siehe gleichnamige Rückgabespalte). Es muß gelten : „Weight_Views + Weight_BuyingInterest + Weight_Order = 1“ ! | decimal(5,4) | 3.5.5 |
Weight_BuyingInterest | 0.3 | Gewichtung (Wert zwischen 0 und 1) der „BuyingInterests“ (Summen zur Kennzahl mit „BasicCharacteristicNumber = 2“) für den „VBO-Index“ (siehe gleichnamige Rückgabespalte). Es muß gelten : „Weight_Views + Weight_BuyingInterest + Weight_Order = 1“ ! | decimal(5,4) | 3.5.5 |
Weight_Order | 0.5 | Gewichtung (Wert zwischen 0 und 1) der „Orders“ (Summen zur Kennzahl mit „BasicCharacteristicNumber = 4“) für den „VBO-Index“ (siehe gleichnamige Rückgabespalte). Es muß gelten : „Weight_Views + Weight_BuyingInterest + Weight_Order = 1“ ! | decimal(5,4) | 3.5.5 |
IncludeDeactivatedNodes | 1 | „0“ : Nur aktive Elemente unterhalb „DomainTreeNodeID“ berücksichtigen „1“ : Auch inaktive Elemente unterhalb „DomainTreeNodeID“ berücksichtigen | bit | 3.5.5 |
IncludeNodesWithoutTreeNodeID | 0 | siehe Beschreibung | bit | 3.5.5 |
OrderResultByIntervall | 1 | Entscheidet, wie die Rückgabemenge sortiert wird: „0“ : Absteigend nach „VBO-Index“ „1“ : Aufsteigend nach der Intervallnummer „Intervall“ „2“ : Aufsteigend TrendOf_ID“ und der Intervallnummer „Intervall“ | tinyint | 3.5.5 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
Intervall | Nummer des Intervalls (von 1 bis „Intervalls“) | tinyint | 3.5.5 |
IntervallStart | Zeitpunkt des Beginns des Intervalls „Intervall“ | datetime | 3.5.5 |
TrendOf_ID | ID des Elementes auf das sich die Angaben beziehen, also entweder die ID eines Artikel-Elementes oder die ID einer Eigenschaft (falls eine „GroupByNodeCharacteristicID“ angegeben wurde oder Eigenschaften in „tempdb.dbo.OneID“ übergeben wurden) | integer | 3.5.5 |
TrendOf_Description | Bezeichnung des Elementes „TrendOf_ID“ - also entweder eine „NodeDescription“ oder ein „Value“ | varchar(100) | 3.5.5 |
Views | Summe der „Views“ (Werte zur Basis-Kenzahl mit „BasicCharacteristicNumber = 1“) zum Element „TrendOf_ID“ im Zeitraum „IntervallStart“ bis „IntervallStart + MinutesPerIntervall Minuten“ | decimal(12,2) | 3.5.5 |
BuyingInterests | Summe der „Kaufinteressen“ (Werte zur Basis-Kenzahl mit „BasicCharacteristicNumber = 2“) zum Element „TrendOf_ID“ im Zeitraum „IntervallStart“ bis „IntervallStart + MinutesPerIntervall Minuten“ | decimal(12,2) | 3.5.5 |
Orders | Summe der „Bestellungen“ (Werte zur Basis-Kenzahl mit „BasicCharacteristicNumber = 4“ - es wird gezählt, wie OFT ein Produkt bestellt wurde) zum Element „TrendOf_ID“ im Zeitraum „IntervallStart“ bis „IntervallStart + MinutesPerIntervall Minuten“ | decimal(12,2) | 3.5.5 |
VBO-Index | Zusammengesetzte Kennzahl nach der Formel : (Views * Weight_Views) + (BuyingInterests * Weight_BuyingInterest) + (Orders * Weight_Order) | decimal(12,2) | 3.5.5 |
wenn OrderResultByIntervall = 0
wenn OrderResultByIntervall = 1
wenn OrderResultByIntervall NOT IN (0,1) und OrderResultByIntervall NOT IN (0,1)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 5) |
---|---|---|
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-599 | Lizenz ist ungültig oder abgelaufen | 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 |
-561 | Prozedur kann nicht ausgeführt werden | nur direkt |
-551 | Fehlender oder falscher Eintrag in BatchJobs | nur direkt |
-550 | Fehlender oder falscher Eintrag in Settings | nur 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 |
-500 | Falsche Parameter | direkt und indirekt |
-410 | Für den Zeitraum der Auswertung sind nicht mehr alle Daten vorhanden | nur direkt |
-283 | Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu ermitteln | nur direkt |
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] |
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.15 | 2004-07-30 | 1. Aufruf der Prozeduren „_mi_StartProcedure“ und „_mi_FinishProcedure“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur 3. Konsequente Fehlerbehandlung |
4.0.7 | 2004-01-16 | Interne Änderung : „ProcedureName“ steht jetzt in der neuen Tabelle „RegisteredProcedures“, in „BatchJobs“ steht nur noch die „ProcedureID“, die auf die „ProcedureID“ besagter neuer Tabelle referenziert |
4.0.1 | 2003-05-16 | Ab jetzt wird berücksichtigt, daß in „NodeProperties“ auch Gültigkeitszeiträume in der Zukunft vorhanden sein können ! |
3.5.22 | 2002-08-30 | |
3.5.21 | 2002-08-06 | |
3.5.5 | 2001-03-30 | 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_GetDSS_Index_Trend_Ad'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/st_GetDSS_Index_Trend_Ad' | 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_GetDSS_Index_Trend_Ad', array( // 'DomainTreeNodeID' => 0, // 'Intervalls' => 24, // 'MinutesPerIntervall' => 60, // 'GroupByNodesOnLevel' => 5, // 'IsLevelID' => 1, // 'GroupByNodeCharacteristicID' => NULL, // 'OnlyValuesInOneID' => 0, // 'IDsInOneIDAreTreeNodeIDs' => 0, // 'Weight_Views' => 0.2, // 'Weight_BuyingInterest' => 0.3, // 'Weight_Order' => 0.5, // 'IncludeDeactivatedNodes' => 1, // 'IncludeNodesWithoutTreeNodeID' => 0, // 'OrderResultByIntervall' => 1 ) ); $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_GetDSS_Index_Trend_Ad"> <Parameters> <!-- <Parameter Name="DomainTreeNodeID">0</Parameter> --> <!-- <Parameter Name="Intervalls">24</Parameter> --> <!-- <Parameter Name="MinutesPerIntervall">60</Parameter> --> <!-- <Parameter Name="GroupByNodesOnLevel">5</Parameter> --> <!-- <Parameter Name="IsLevelID">1</Parameter> --> <!-- <Parameter Name="GroupByNodeCharacteristicID">NULL</Parameter> --> <!-- <Parameter Name="OnlyValuesInOneID">0</Parameter> --> <!-- <Parameter Name="IDsInOneIDAreTreeNodeIDs">0</Parameter> --> <!-- <Parameter Name="Weight_Views">0.2</Parameter> --> <!-- <Parameter Name="Weight_BuyingInterest">0.3</Parameter> --> <!-- <Parameter Name="Weight_Order">0.5</Parameter> --> <!-- <Parameter Name="IncludeDeactivatedNodes">1</Parameter> --> <!-- <Parameter Name="IncludeNodesWithoutTreeNodeID">0</Parameter> --> <!-- <Parameter Name="OrderResultByIntervall">1</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>