Herr G. Ordnet, Controller der Firma Adventure Works, möchte sich für ausgewählte Produkte seines Unternehmens die Internetverkäufe und die Frachtkosten ansehen. Er beauftragt den Reportbauer Z. Schnell mit dem Erstellen eines Berichts. Selbiger überdenkt die Anforderung und stellt einen Bericht mit einer Parameterliste aller Produkte zur Verfügung.
Nachdem Herr G. Ordnet mehrere Male alle 606 Produkte seiner Firma in der Auswahlkombobox des Berichtes durchforstet hat, platzt ihm der Kragen und er bittet um eine „vernünftige Einschränkung der Produkte nach Kategorien.“
Ein Glück, dass in der Datenbank diese Produktkategorien vorhanden sind, denkt sich Herr Schnell und entwickelt die sog. „cascading parameters“ – also voneinander abhängige, hierarchisch angeordnete Parameter, deren Auswahl die Wertanzahl folgender Parameter einschränkt.
Zuerst werden im Report drei statt einem Parameter erzeugt. Alle Parameter sind mehrwertig und haben keinen Standardwert.
Dann werden drei Datasets für die Parameter mit folgenden Statements angelegt:
Produktkategorie:
SELECT ProductCategoryKey, EnglishProductCategoryName FROM DimProductCategory
Produktunterkategorie:
SELECT ProductSubcategoryKey, EnglishProductSubcategoryName FROM DimProductSubcategory
WHERE (ProductCategoryKey IN (@ProductCategory))
Produkte selbst:
SELECT EnglishProductName, ProductKey FROM DimProduct
WHERE (ProductSubcategoryKey IN (@ProdSubCategory))
Schlussendlich erzeugt Herr Schnell ein Dataset für die Werteabfrage:
SELECT DimProduct.EnglishProductName, FactInternetSales.OrderQuantity * FactInternetSales.UnitPrice AS OrderVolume, FactInternetSales.Freight FROM DimProduct INNER JOIN FactInternetSales ON DimProduct.ProductKey = FactInternetSales.ProductKey
WHERE (FactInternetSales.ProductKey IN (@Products))
Weil Herr Schnell auf Standardwerte verzichtet hat, und alle vom vorhergehenden Parameter abhängigen Parameterabfragen ohne eine Auswahl des vorhergehenden Parameters nicht getätigt werden können, sind die Auswahlboxen der nachfolgenden Parameter solange deaktiviert, bis die nötige Vorauswahl von Kategorien oder Unterkategorien abgeschlossen ist.
Nun hat Herr G. Ordnet nur die Produkte zur Auswahl, deren Anzahl er vorher durch die Auswahl an Kategorien eingeschränkt hat – und Herr Schnell noch seinen Job.