Interaktive Filter zwischen MV-Komponenten

Wenn Sie eine Flex-basierte Management View verwenden, können Sie bestimmte Management View-Komponenten als Filterauswahl für andere Komponenten dieser Management View verwenden. Eine Management View-Komponente dient hierbei als Filterquelle, eine andere als Filterziel.

Wenn Sie eine Tabellen-basierte Management View-Komponente als Filterquelle verwenden, wird durch Auswahl einer Tabellenzeile die Kombination der einzelnen Dimensionswerte dieser Tabellenzeile als Filtereinstellung für die abhängige Filterziel-Komponente übernommen.

Beispiel

Die folgende Abbildung zeigt eine Tabellen-basierte Management View als Filterquelle.

Durch Auswahl der zweiten Tabellenzeile in der unteren Management View-Komponente (Filterquelle) wird in der oberen Komponente (Filterziel) ein Dimensionsfilter auf die Wertekombination Werk=Oak Springs (3000) und Zeit=Dez 06 und Material=Maschienen und Auftraggeber=Brasilien gesetzt.

Linked Picture File Template_support_manuals_APD

Interaktive Filter definieren

Die Definition interaktiver Filter erfolgt für jede Management View-Komponente, indem Sie im Parameter filterMasters der init-Methode Ihrer Management View Komponente in einem Array die instanziierte Management View-Komponente angeben, die als Filterquelle für diese Management View-Komponente wirken soll, z. B. [mvFilter].

Interaktive Filter kombinieren

Sie können mehrere Filterquellen verwenden, wenn Sie im Parameter filterMasters die instanziierten Management View-Komponenten durch Komma getrennt angeben, z. B. [mv1, mv2]. Die Reihenfolge bestimmt hierbei die Priorität, die zuerst aufgelistete Filterquellen-Komponente hat die höchste Priorität.

Alle für eine Management View-Komponente angegebenen Filter werden durch UND miteinander verknüpft. Sind in mehreren Filterquellen-Komponenten Filter auf dieselbe Dimension enthalten, wird nur der Filter der Filterquellen-Komponente mit der höchsten Priorität verwendet.

Um leere Ergebnismengen beim Einstellen von Filtern zu vermeiden, sollten Sie darauf achten, dass das Setzen eines Filters in der Filterquellen-Komponente für die Filterziel-Komponente Daten liefert. Wenn Sie beispielsweise zwei Management View-Komponenten zur Filterung miteinander verknüpfen, die auf verschiedenen Prozesstypgruppen basieren, kann die Ergebnismenge leer sein. Bei der Datenermittlung kommt es sogar zu Fehlern, wenn bestimmte Dimensionen nicht an allen Prozesstypgruppen und Prozesstypen verfügbar sind.

Warnung

Achten Sie darauf, dass in der Abhängigkeit Filterziel und Filterquelle keine zyklischen Abhängigkeiten zwischen den Management View-Komponenten entstehen.

Beispiel

Im folgenden Beispiel einer Management View Strukturdatei ist für die Filterziel-Komponente mv0 (Query1) mit der Angabe [mv1,mv2,mvGblFilter] für den Parameter filterMasters festgelegt, dass die Komponente in der MV-Anzeige zuerst in der Filterquellen-Komponente mv1 (Query2) gesetzte Dimensionsfilter übernehmen soll, dann Filtereinstellungen der Filterquellen-Komponente mv2 (Query3) und schließlich globale Filtereinstellungen.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"

<html>

<head>

<script language="javascript"

src="../assets/javascript/mvhelper.js">

</script>

<script language="javascript"

src="../assets/javascript/linkhelper.js">

</script>

<script language="JavaScript" type="text/javascript">

initializeFlex();

// MVFilterComponents has to be declared here

//

var mvGblFilter = new MVGlobalFilterComponent();

// MVComponents has to be declared here

//

var mv0 = new MVFlexComponent();

var mv1 = new MVFlexComponent();

var mv2 = new MVFlexComponent();

// MVComponents has to be initialized here, after

// page has been loaded

//

function initMVComponents() {

mvGblFilter.init("mvNodeGlobalFilter");

mv0.init("mvNode0", "Query1", "FAVORITES_PRIVATE",

"FLEX", "100%", "400", [mv1,mv2,mvGblFilter]);

mv1.init("mvNode1", "Query2", "FAVORITES_PRIVATE",

"FLEX", "100%", "400", [mv2]);

mv2.init("mvNode2", "Query3", "FAVORITES_PRIVATE",

"FLEX", "100%", "400");

}

</script>

</head>

<body onload="initMVComponents();">

<div id="mvNodeGlobalFilter" style="position:absolute;

top:0px; z-index:1; width:100%;">

</div>

<div>

<table cellpadding="0" cellspacing="0" rules="none"

frame="void" border="0" bgcolor="#FFFFFF"

width="100%" height="100%">

<tbody>

<tr>

<td id="mvNode0"></td>

<td id="mvNode1"></td>

<td id="mvNode2"></td>

</tr>

</tbody>

</table>

</div>

</body>

</html>