Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:st_getdss_index_trend_ad

st_GetDSS_Index_Trend_Ad

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

  • „Views“ („BasicCharacteristicNumber = 1“)
  • „Kaufinteressen“ („BasicCharacteristicNumber = 2“)
  • „Bestellungen“ (BasicCharacteristicNumber = 4„)

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-MethodGET
HTTP-AuthOptional
Tags
Engine-Kategoriestatistics
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
DomainTreeNodeID0 ID eines Elementes im Artikelbaum, zu dessen Nachfolger (auf der Hierarchie „GroupByNodesOnLevel“) die Verlaufs-Statistiken ausgegeben werden sollen
integer3.5.5
Intervalls24 Anzahl der zu bildenden Intervalle (Es werden die Daten aus „DSS_StatisticData“ der letzten „Intervalls * MinutesPerIntervall“ Minuten herangezogen)
tinyint3.5.5
MinutesPerIntervall60 Länge eines Intervalls in Minuten (Es werden die Daten aus „DSS_StatisticData“ der letzten „Intervalls * MinutesPerIntervall“ Minuten herangezogen)
smallint3.5.5
GroupByNodesOnLevel5 Es werden nur Elemente unterhalb von „DomainTreeNodeID“ berücksichtigt, die diese Hierarchie besitzen
tinyint3.5.5
IsLevelID1 Bei „GroupByNodesOnLevel“ handelt es sich um…
„0“ : die Nummer einer Hierarchie („LevelNo“)
„1“ : die ID einer Hierarchie („LevelID“)
bit3.5.5
GroupByNodeCharacteristicIDNULL 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…“).
smallint3.5.5
OnlyValuesInOneID0 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…“).
bit3.5.5
IDsInOneIDAreTreeNodeIDs0 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.
bit3.5.5
Weight_Views0.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_BuyingInterest0.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_Order0.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
IncludeDeactivatedNodes1 „0“ : Nur aktive Elemente unterhalb „DomainTreeNodeID“ berücksichtigen
„1“ : Auch inaktive Elemente unterhalb „DomainTreeNodeID“ berücksichtigen
bit3.5.5
IncludeNodesWithoutTreeNodeID0 siehe Beschreibung
bit3.5.5
OrderResultByIntervall1 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“
tinyint3.5.5

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
IntervallNummer des Intervalls (von 1 bis „Intervalls“)
tinyint3.5.5
IntervallStartZeitpunkt des Beginns des Intervalls „Intervall“
datetime3.5.5
TrendOf_IDID 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)
integer3.5.5
TrendOf_DescriptionBezeichnung des Elementes „TrendOf_ID“ - also entweder eine „NodeDescription“ oder ein „Value“
varchar(100)3.5.5
ViewsSumme 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
BuyingInterestsSumme 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
OrdersSumme 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-IndexZusammengesetzte Kennzahl nach der Formel :
(Views * Weight_Views) + (BuyingInterests * Weight_BuyingInterest) + (Orders * Weight_Order)
decimal(12,2)3.5.5
Sortierungen der Rückgabe

wenn OrderResultByIntervall = 0

  • VBO-Index (absteigend)

wenn OrderResultByIntervall = 1

  • Intervall (aufsteigend)

wenn OrderResultByIntervall NOT IN (0,1) und OrderResultByIntervall NOT IN (0,1)

  • Intervall (aufsteigend)
  • TrendOf_ID (aufsteigend)

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 5)
-621Fehlender oder falscher Eintrag in PersonTypeSettingsnur indirekt
-599Lizenz ist ungültig oder abgelaufennur indirekt
-569Der Benutzer hat kein Ausführungsrecht für die Prozedurnur indirekt
-567Die Prozedur darf z. Zt. nicht ausgeführt werdennur indirekt
-566Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werdennur indirekt
-561Prozedur kann nicht ausgeführt werdennur direkt
-551Fehlender oder falscher Eintrag in BatchJobsnur direkt
-550Fehlender oder falscher Eintrag in Settingsnur indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-500Falsche Parameterdirekt und indirekt
-410Für den Zeitraum der Auswertung sind nicht mehr alle Daten vorhandennur direkt
-283Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu ermittelnnur direkt

XML-Schema

Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.

Historie

7.0.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
5.1.5 2006-08-29Fehler : „LockedNodeCharacteristics“ wurde bisher gar nicht beachtet !
5.1.1 2006-04-05Optimierung des Zugriffs auf „NodeProperties“ (bedingt durch die Änderung dieser Tabelle in 5.1.0)
4.0.15 2004-07-301. 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-16Interne Ä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-16Ab 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-30Erstmalig in dieser Version erstellt

Code-Snippets

Engine Playground

Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:

cURL

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 -
dStore_php
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();
engine/execute

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>
1)
Pflichtparameter sind unterstrichen
5)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
6)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/st_getdss_index_trend_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)