jpivot (de)

Content


chart

Body ContentJSP
Description Erzeugt einen Chart. Diese Komponente erzeugt selbst keinen sichtbaren Output, sie wird durch das WCF render Tag dargestellt.

AttributeRequiredTypertexprDescription
idtrueStringtrue Name des Session Attributes, das durch dieses Tag erzeugt wird
visiblefalsebooleantrue Entscheidet, ob die Komponenente sichtbar ist oder nicht. Das WCF Render Tag zeigt eine Komponente mit visible == false nicht an
rolefalseStringtrue Name einer Rolle, optional mit vorangestelltem '!'. Beispiel role='tomcat' erlaubt allen Mitgliedern der Rolle 'tomcat' den Zugriff, role='!tomcat' erlaubt allen ausser den Mitgliedern der Rolle 'tomcat' den Zugriff.
querytrueOlapModeltrue Name des Session Attributes, das die OLAP Daten (Query und Ergebnis) für dieses Tag enthält. Bei Reports, die vom SironDWH Builder erzeugt werden, wird die Query beim Start des Reports aus dem Repository geladen und unter dem Namen query01 in der Session abgelegt. Alternativ kann die Query auch über das Tag mondrian erzeugt werden.
baseDisplayURLfalseStringtrue
controllerURLfalseStringtrue

chooseQuery

Body ContentJSP
Description Wählt eine query aus, die vorher mit einem queryName attribut erzeugt wurde.

AttributeRequiredTypertexprDescription
idtrueStringtrue Name des Session Attributes, das durch dieses Tag erzeugt wird
queryNamefalseStringtrue name der query die aktiviert werden soll

Example

<jp:mondrianQuery id="query01" queryName="name1">
   SELECT ...
</jp:mondrianQuery>
<jp:mondrianQuery id="query01" queryName="name2">
   SELECT ...
</jp:mondrianQuery>
...
<jp:chooseQuery id="query01" queryName="name1"/>

clickable

Body ContentEMPTY
Description Alle Member einer Dimension oder Level werden mit einem anchor gerenderd, d.h. sie sind anklickbar. In der URL ist der Name des angeklickten Member enthalten. Kann nur innerhalb eines table Tags verwendet werden.

Das Verhalten ist abhänig davon, ob das Attribut sessionParam gesetzt ist oder nicht. Wenn sessionParam gesetzt ist, wird der Parameterwert nicht in die URL codiert, sondern in den com.tonbeller.jpivot.param.SessionParamPool geschrieben, bevor auf die neue Seite verzweigt wird. Ist sessionParam nicht gesetzt, wird der unique name in die Url codiert und muss auf Empfängerseite ausgewertet werden.

Das Tag muss innerhalb eines table tags oder eines query tags verwendet werden. Innerhalb eines table tags ist das clickable fuer alle queries vorhanden, innerhalb eines query-tags nur fuer die jeweilige query.

AttributeRequiredTypertexprDescription
urlPatternfalseStringtrue DEPRECATED - sollte nicht in Verbindung mit session Parametern verwendet werden, da der Browser Back Button nicht wie erwartet funktioniert. Verwenden Sie statt dessen das page Attribute.

Pattern aus dem die URL konstruiert wird. Ist das Attribut sessionParam NICHT gesetzt, wird {0} durch den unique name des members ersetzt. Wenn urlPattern mit "/" beginnt, ist die URL relativ zum Application context (d.h. der Kontext wird vorangestellt), ansonsten ist sie absolut.
pagefalseStringtrue Name der Ziel JSP, muss mit "/" beginnen. Wenn nicht angegeben, wird die gleiche Seite wieder angezeigt.
uniqueNametrueStringtrue unique name einer Dimension, Hierarchy oder Level, deren Elemente angeklickt werden können.
menuLabelfalseStringtrue Werden mehrere Clickables definiert, dann werden diese in einem Popup Menu zur Auswahl angeboten, dabei wird dieser Text im Menu Eintrag angezeigt.
sessionParamfalseStringtrue Name des Parameters, der in den com.tonbeller.jpivot.param.SessionParamPool gestellt wird
propertyNamefalseStringtrue Wenn vorhanden wird der Wert der Elementeigenschaft als sqlValue des com.tonbeller.jpivot.param.Parameter genommen
propertyPrefixfalseStringtrue Wenn vorhanden, wird fuer jedes Member Property ein SessionParam erzeugt. Der Name des SessionParam ist der Name des Member Property ohne das propertyPrefix. Wenn vorhanden, dürfen die Attribute sessionParam und propertyName nicht gesetzt sein.
providerClassfalseStringtrue Wenn vorhanden wird eine Instanz dieser Klasse die SessionParam aus einem Member erzeugen. Die Klasse muss das Interface com.tonbeller.jpivot.table.navi.ClickableMember.ParameterProvider implementieren

Example

<jp:mondrianQuery ...>
  select .. from Sales
  <jp:clickable urlPattern="/otherpage.jsp?param={0}" uniqueName="[Customers]"/>
  <jp:clickable page="/yetotherpage.jsp" uniqueName="[Products].[Category]" sessionParam="Category"/>
</jp:mondrianQuery>
    

destroyQuery

Body ContentJSP
Description löscht alle queries mit dieser id

AttributeRequiredTypertexprDescription
idtrueStringtrue Name des Session Attributes, das durch dieses Tag erzeugt wird

Example

<jp:destroyQuery id="query01"/>

mondrianQuery

Body ContentJSP
Description Erzeugt ein neues Session Attribut, das eine Mondrian Query enthält und anderen Komponenten wie Tabelle und Chart den Zugriff auf das Ergebnis sowie die Navigationsmöglichkeiten erlaubt. Anders als die übrigen Tags dieser Bibiliothek (und z.B. <jsp:useBean>) wird das Session Attribut in jedem Fall erzeugt, ein evtl vorhandenes Attribut wird dabei ersetzt. Es muss also z.B. durch Verwendung des JPivot include Tags oder durch JSTL <c:if> sichergestellt werden, dass die Query nur dann neu erzeugt wird, wenn dies auch gewünscht ist.

Wenn der Application Server eine vorkonfigurierte JDBC DataSource bereitstellt, kann diese über das Attribut dataSource verwendet werden. Wenn nicht, können die JDBC Verbindungsparameter einzeln eingestellt werden.

AttributeRequiredTypertexprDescription
idtrueStringtrue Name des Session Attributes, das durch dieses Tag erzeugt wird
jdbcDriverfalseStringtrue Java Klassenname des JDBC Treibers
jdbcUrlfalseStringtrue Verbindungsparameter, diese sind Datenbankspezifisch
jdbcUserfalseStringtrue user Kennung für Verbindung zur Datenbank
jdbcPasswordfalseStringtrue Passwort für Verbindung zur Datenbank
dataSourcefalseStringtrue JNDI Name einer vorkonfigurierten JDBC DataSource, e.g. jdbc/SironTDI. Kann nicht zusammen mit den anderen JDBC Attributen verwendet werden.
catalogUritrueStringtrue Pfad des Mondrian Schemas, relativ zum Application Context, z.B./WEB-INF/FoodMart.xml
configfalseStringtrue internal use only
rolefalseStringtrue Rolle aus dem Mondrian Schema
dynResolverfalseStringtrue Klasse zum dynamischen Auflösen von Variablen im Mondrian Schema
dynLocalefalseStringtrue Klasse zum dynamischen Auflösen von Variablen im Mondrian Schema
connectionPoolingfalseStringtrue "false" verhindert Mondrian Connection Pooling
dataSourceChangeListenerfalseStringtrue Klasse zum änderungen im DataSource zu ermitteln
queryNamefalseStringtrue Je queryName kann eine Query in diesem Session Attribut gehalten werden. Es wird jeweils die letzte Query gespeichert. Mit dem chooseQuery tag kann zwischen den queryName's bzw queries.
stackModefalsebooleantrue Wenn dieses Feld auf "false" gesetzt wird, dann werden alle queryName Attribute gleich behandelt, unabhängig von der Reihenfolge, in der die Queries ausgeführt werden. Wenn dieses Feld auf "true" gesetzt wird, werden die verschiedenen queryNames in einem Stack gehalten. Beispiel:
  • Eine query mit queryName qn1 wird erzeugt und angezeigt
  • Eine query mit queryName qn2 wird erzeugt und angezeigt. Nun enthält der Stack qn1 und qn2. qn2 ist die sichtbare Query, d.h. eine Tabelle wird die Daten von qn2 anzeigen.
  • Wenn jetzt z.B. der Benutzer auf qn1 zurückgeht, indem er eine Seite mit dem chooseQuery Tag aufruft, dann wird qn2 beendet und der Speicher freigegeben. Dies passiert nur im Stack Mode, im Nicht-Stack-Mode würde qn2 weiterhin erhalten bleiben und könnte über chooseQuery wiederum zur Anzeige gebracht werden.
Im Nicht-Stack-Modus kann der Benutzer zwischen den verschiedenen Queries beliebig wechseln. Im Stack Modus kann er das nicht, wenn er zu einer "früheren" Query zurückgeht, werden alle danach gestarteten Queries gelöscht.

Example

<jp:mondrianQuery id="query01"
  jdbcDriver="com.mysql.jdbc.Driver"
  jdbcUrl="jdbc:mysql://localhost/foodmart"
  catalogUri="/WEB-INF/test/FoodMart.xml">
select
  {[Measures].[Unit Sales], [Measures].[Store Cost], [Measures].[Store Sales]} on columns,
  {[Product].[All Products]} ON rows
from Sales
where ([Time].[1997])
</jp:mondrianQuery>

navigator

Body ContentJSP
Description Erzeugt eine Navigator Komponente. Diese Komponente erzeugt selbst keinen sichtbaren Output, sie wird durch das WCF render Tag dargestellt.

AttributeRequiredTypertexprDescription
idtrueStringtrue Name des Session Attributes, das durch dieses Tag erzeugt wird
querytrueOlapModeltrue Name des Session Attributes, das die OLAP Daten (Query und Ergebnis) für dieses Tag enthält. Bei Reports, die vom SironDWH Builder erzeugt werden, wird die Query beim Start des Reports aus dem Repository geladen und unter dem Namen query01 in der Session abgelegt. Alternativ kann die Query auch über das Tag mondrian erzeugt werden.
visiblefalsebooleantrue Entscheidet, ob die Komponenente sichtbar ist oder nicht. Das WCF Render Tag zeigt eine Komponente mit visible == false nicht an
rolefalseStringtrue Name einer Rolle, optional mit vorangestelltem '!'. Beispiel role='tomcat' erlaubt allen Mitgliedern der Rolle 'tomcat' den Zugriff, role='!tomcat' erlaubt allen ausser den Mitgliedern der Rolle 'tomcat' den Zugriff.

Example

<jp:navigator id="navi01" query="#{query01}" visible="false"/>
<wcf:render ref="navi01" xslUri="/WEB-INF/jpivot/navi/navigator.xsl" xslCache="true"/>
    

print

Body ContentJSP
Description Erzeugt einen Print. Diese Komponente erzeugt selbst keinen sichtbaren Output, sie wird durch das WCF render Tag dargestellt.

AttributeRequiredTypertexprDescription
idtrueStringtrue Name des Session Attributes, das durch dieses Tag erzeugt wird

scalarQuery

Body ContentJSP
Description Erzeugt ein neues Session Attribut, das eine OLAP Ergebnis enthält, das aus einer einzelnen Zelle besteht. Die Werte werden über die Attribute des Tags bereitgestellt.

AttributeRequiredTypertexprDescription
idtrueStringtrue Name des Session Attributes, das durch dieses Tag erzeugt wird
valuetrueStringtrue EL expression evaluating to the value (number)
formattedValuefalseStringtrue EL expression evaluating to the formatted value (String)
captionfalseStringtrue EL expression evaluating to the caption (String)
queryNamefalseStringtrue see mondrianQuery
stackModefalsebooleantrue see mondrianQuery

Example

<jp:scalarQuery
  id="query01"
  value="#{some.bean.property}">
  formattedValue="#{some.bean.otherProperty}"
  caption="Some Caption" />
 

selectproperties

Body ContentJSP
Description Erzeugt eine Select Properties Komponente. Sie erlaubt einem, auszuwählen, welche Properties sichtbar sein sollen, und in welcher Reihenfolge. Diese Komponente erzeugt selbst keinen sichtbaren Output, sie wird durch das WCF render Tag dargestellt.

AttributeRequiredTypertexprDescription
idtrueStringtrue Name des Session Attributes, das durch dieses Tag erzeugt wird
tabletrueTableComponenttrue Name des Session Attributes, das die OLAP Daten (Query und Ergebnis) für dieses Tag enthält. Bei Reports, die vom SironDWH Builder erzeugt werden, wird die Query beim Start des Reports aus dem Repository geladen und unter dem Namen query01 in der Session abgelegt. Alternativ kann die Query auch über das Tag mondrian erzeugt werden.
visiblefalsebooleantrue Entscheidet, ob die Komponenente sichtbar ist oder nicht. Das WCF Render Tag zeigt eine Komponente mit visible == false nicht an
rolefalseStringtrue Name einer Rolle, optional mit vorangestelltem '!'. Beispiel role='tomcat' erlaubt allen Mitgliedern der Rolle 'tomcat' den Zugriff, role='!tomcat' erlaubt allen ausser den Mitgliedern der Rolle 'tomcat' den Zugriff.

Example

<jp:selectproperties id="selectprop01" table="#{table01}" visible="false"/>
<wcf:render ref="selectprop01" xslUri="/WEB-INF/jpivot/navi/navigator.xsl" xslCache="true"/>
    

setParam

Body ContentJSP
Description Setzt einen MDX Parameter aus einem HTTP Parameter oder einem Session Parameter. Der Body wird nur dann evaluiert, wenn der HTTP Parameter vorhanden ist. Wird hier eine Mondrian Query hingeschrieben, dann wird diese immer dann neu initialisiert, wenn der HTTP Parameter vorhanden ist. Bei Verwendung von Session Parameter wird der body nie ausgeführt. Genau eines der Attribute httpParam oder sessionParam muss gesetzt sein.

AttributeRequiredTypertexprDescription
querytrueOlapModeltrue Name des Session Attributes, das die OLAP Daten (Query und Ergebnis) für dieses Tag enthält. Bei Reports, die vom SironDWH Builder erzeugt werden, wird die Query beim Start des Reports aus dem Repository geladen und unter dem Namen query01 in der Session abgelegt. Alternativ kann die Query auch über das Tag mondrian erzeugt werden.
httpParamfalseStringtrue Name des HTTP Parameters. Wenn der Parameter vorhanden ist, wird sein Wert in die MDX Query als Parameterwert eingetragen.
sessionParamfalseStringtrue Name des Session Parameters
mdxParamtrueStringtrue Name des zu setzenden MDX Parameters in der Query

Example

<jp:mondrianQuery id="query01"...>
  SELECT ... Parameter("Param01", ...)
  WHERE ...
</jp:mondrianQuery/>

<jp:setParam query="query01" httpParam="param" mdxParam="Param01"/>
or
<jp:setParam query="query01" sessionParam="CUSTOMER" mdxParam="Param01"/>
    

table

Body ContentJSP
Description Erzeugt eine Tabellenkomponente. Diese Komponente erzeugt selbst keinen sichtbaren Output, sie wird durch das WCF render Tag dargestellt.

AttributeRequiredTypertexprDescription
idtrueStringtrue Name des Session Attributes, das durch dieses Tag erzeugt wird
visiblefalsebooleantrue Entscheidet, ob die Komponenente sichtbar ist oder nicht. Das WCF Render Tag zeigt eine Komponente mit visible == false nicht an
rolefalseStringtrue Name einer Rolle, optional mit vorangestelltem '!'. Beispiel role='tomcat' erlaubt allen Mitgliedern der Rolle 'tomcat' den Zugriff, role='!tomcat' erlaubt allen ausser den Mitgliedern der Rolle 'tomcat' den Zugriff.
querytrueOlapModeltrue Name des Session Attributes, das die OLAP Daten (Query und Ergebnis) für dieses Tag enthält. Bei Reports, die vom SironDWH Builder erzeugt werden, wird die Query beim Start des Reports aus dem Repository geladen und unter dem Namen query01 in der Session abgelegt. Alternativ kann die Query auch über das Tag mondrian erzeugt werden.
configXmlfalseStringtrue Pfad einer Konfigurationsdatei mit der kundenspezifischer Code eingebunden werden kann

Example

<jp:table id="table01" query="#{query01}" visible="true"/>

testQuery

Body ContentJSP
Description Erzeugt Testdaten, die mit Tabelle / Chart usw angezeigt werden können

AttributeRequiredTypertexprDescription
idtrueStringtrue Name des Session Attributes, das durch dieses Tag erzeugt wird
onRowsfalseStringtrue Namen der anzuzeigenden Dimensionen in den Zeilen, durch Leerzeichen getrennt. Mögliche Werte: Measures, Region, Products, Advertising, Material
onColumnsfalseStringtrue Namen der anzuzeigenden Dimensionen in den Spalten, durch Leerzeichen getrennt. Mögliche Werte: Measures, Region, Products, Advertising, Material

Example

<jp:testQuery id="query01" onColumns="Measures" onRows="Products Region">
  for some reason, the body must not be empty
</jp:testQuery>
    

xmlaQuery

Body ContentJSP
Description Erzeugt ein neues Session Attribut, das eine XMLA Query enthält. Es erlaubt anderen Komponenten wie Tabelle und Navigator das Ergebnis darzustellen und in dem Cube zu navigieren. Anders als die übrigen Tags dieser Bibiliothek (und z.B. <jsp:useBean>) wird das Session Attribut in jedem Fall erzeugt, ein evtl. vorhandenes Attribut wird dabei ersetzt. Es muss also z.B. durch Verwendung des JPivot include Tags oder durch JSTL <c:if> sichergestellt werden, dass die Query nur dann neu erzeugt wird, wenn dies auch gewünscht ist.

AttributeRequiredTypertexprDescription
idtrueStringtrue Name des Session Attributes, das durch dieses Tag erzeugt wird
uritrueStringtrue Die URI des XMLA Servers
dataSourcefalseStringtrue DataSourceInfo Spezifikation, etwa "Provider=MSOLAP;Data Source=local"
catalogtrueStringtrue Catalog Spezification, etwa "Foodmart 2000"
configfalseStringtrue Pfad zu einer Konfigurationsdatei, relativ zum Application Context, über die Kundenspezifischer Code eingebunden werden kann

Example

<jp:xmlaQuery id="query01"
  uri="http://MYSERVER/XML4A/msxisapi.dll"
  catalog="Foodmart 2000">
select
  {[Measures].[Unit Sales], [Measures].[Store Cost], [Measures].[Store Sales]} on columns,
  {[Product].[All Products]} ON rows
from Sales
where ([Time].[1997])
</jp:xmlaQuery>