Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:st_getdss_index_frequency_ad

st_GetDSS_Index_Frequency_Ad

Liefert eine sogenannte Häufigkeits-Statistik für Artikel-Elemente. Es werden 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„)

in einem (anzugebenden) Zeitraum herangezogen und SUMMEN gebildet. Zusätzlich errechnet die Prozedur aus diesen Summen jeweils 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. Wie lange die Daten in „DSS_StatisticData“ gehalten werden, ist in „Settings“ zum Schlüssel „MaxDaysInDSS_StatisticData“ hinterlegt. Sollten für den angegebenen Zeitraum nicht mehr alle Daten vorhanden sein, bricht die Prozedur mit dem Return-Code “-410„ ab.
3. 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, für dessen Nachfolger (auf der Hierarchie „GroupByNodesOnLevel“) die Häufigkeits-Statistiken ausgegeben werden sollen
integer3.5.5
FromDate Start-Zeitpunkt des zu untersuchenden Zeitraums
datetime3.5.5
ToDate End-Zeitpunkt des zu untersuchenden Zeitraums. Bei Angabe von „NULL“ wählt die Prozedur den aktuellen Zeitpunkt.
datetime3.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 die Summen der Kennzahlen pro Eigenschaft gebildet (siehe Rückgabespalten „FrequencyOf…“).
smallint3.5.5
OnlyValuesInOneID0 Falls „1“, werden die Elemente unterhalb von „DomainTreeNodeID“ nach den in „tempdb.dbo.OneID“ angegeben Eigenschaften („ValueID“s) gruppiert und die Summen der Kennzahlen pro Eigenschaft gebildet (siehe Rückgabespalten „FrequencyOf…“).
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
OrderResultByColumn1 Gibt an, nach welcher Spalte (1 bis 6) die Ergebnismenge sortiert werden soll. Bei Angabe von „1“ oder „2“ wird aufsteigend sortiert, sonst absteigen.
tinyint3.5.5
GetTopXNULL Anzahl der auszugebenen Datensätze. Bei einer Sortierung nach einer der Spalten „3“ bis „6“ (→ OrderResultByColumn“) erhält man so eine „Top X“-Liste (daher der Name des Parameters).
tinyint3.5.5

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
FrequencyOf_IDID des Elementes auf das sich die Summen 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
FrequencyOf_DescriptionBezeichnung des Elementes „FrequencyOf_ID“ - also entweder eine „NodeDescription“ oder ein „Value“
varchar(1000)3.5.5
ViewsSumme der „Views“ (Werte zur Basis-Kenzahl mit „BasicCharacteristicNumber = 1“) zum Element „FrequencyOf_ID“ im Zeitraum „FromDate“ bis „ToDate“
decimal(12,2)3.5.5
BuyingInterestsSumme der „Kaufinteressen“ (Werte zur Basis-Kenzahl mit „BasicCharacteristicNumber = 2“) zum Element „FrequencyOf_ID“ im Zeitraum „FromDate“ bis „ToDate“
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 „FrequencyOf_ID“ im Zeitraum „FromDate“ bis „ToDate“
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 OrderResultByColumn = 1

  • FrequencyOf_ID (aufsteigend)

wenn OrderResultByColumn = 2

  • FrequencyOf_Description (aufsteigend)

wenn OrderResultByColumn = 3

  • Views (absteigend)

wenn OrderResultByColumn = 4

  • BuyingInterests (absteigend)

wenn OrderResultByColumn = 5

  • Orders (absteigend)

wenn OrderResultByColumn NOT IN (1,2,3,4,5)

  • VBO-Index (absteigend)

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
-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]
7.0.1 2013-08-071. Datentyp der Rückgabespalte „FrequencyOf_Description“ hat sich erweitert ⇒ Auch Anpassung der Doku
2. Anpassungen des Quellcodes an den aktuellen Standard
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.1 2003-05-16Ab jetzt wird berücksichtigt, daß in „NodeProperties“ auch Gültigkeitszeiträume in der Zukunft vorhanden sein können !
3.5.14 2002-01-23
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_Frequency_Ad?FromDate=<value>&ToDate=<value>'

Mit xmllint 6) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/st_GetDSS_Index_Frequency_Ad?FromDate=<value>&ToDate=<value>' | 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_Frequency_Ad',
		array(
			'FromDate' => <value>,
			'ToDate' => <value>,
			// 'DomainTreeNodeID' => 0,
			// 'GroupByNodesOnLevel' => 5,
			// 'IsLevelID' => 1,
			// 'GroupByNodeCharacteristicID' => NULL,
			// 'OnlyValuesInOneID' => 0,
			// 'Weight_Views' => 0.2,
			// 'Weight_BuyingInterest' => 0.3,
			// 'Weight_Order' => 0.5,
			// 'IncludeDeactivatedNodes' => 1,
			// 'IncludeNodesWithoutTreeNodeID' => 0,
			// 'OrderResultByColumn' => 1,
			// 'GetTopX' => NULL
		)
);
 
$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_Frequency_Ad">
			<Parameters>
				<Parameter Name="FromDate"><!-- datetime value --></Parameter>
				<Parameter Name="ToDate"><!-- datetime value --></Parameter>
				<!-- <Parameter Name="DomainTreeNodeID">0</Parameter> -->
				<!-- <Parameter Name="GroupByNodesOnLevel">5</Parameter> -->
				<!-- <Parameter Name="IsLevelID">1</Parameter> -->
				<!-- <Parameter Name="GroupByNodeCharacteristicID">NULL</Parameter> -->
				<!-- <Parameter Name="OnlyValuesInOneID">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="OrderResultByColumn">1</Parameter> -->
				<!-- <Parameter Name="GetTopX">NULL</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_frequency_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)