Note |
---|
Es wird empfohlen, sich mit den Funktionen crossValue, memberValue und Filter vertraut zu machen, bevor Sie mit diesem Tutorial fortfahren. |
Die CrossValue-Funktion ermöglicht den Zugriff auf Indikatoren aus anderen Datensätzen. Seit BellaDati 2.9.2 ist es auch möglich, auf Attribute zuzugreifen, indem man eine Funktion wie lastValue() von firstValue() verwendet. Es empfängt zwei Parameter: - Name des Cubes
- Name des Indikators
Nachfolgend werden die Studenten aus dem Ergebnisdatensatz gezählt. Code Block |
---|
crossValue('CUBE_RESULTS.RESULTS', 'L_STUDENT_COUNT')
|
Tip |
---|
Der Zugriff auf die Querverweisfunktion aus Formeln hilft bei der Vorgabe des Cube-Namens. |
Querverweis mit und ohne Drill-DownBei der Gegenüberstellung von Werten berücksichtigt BellaDati die angewandten Drill-Downs. Das bedeutet, dass beide Datensätze das gleiche Attribut (gleicher Code) und dieselben Elemente aufweisen müssen. Um den Wert ohne Drill-Down anzuzeigen, verwenden Sie den Kreuzwert in Kombination mit der Funktion ohne Drill-Down. Dadurch wird für jedes Wert der gleiche Wert angezeigt. Code Block |
---|
withoutDrillDown() {
crossValue('CROSSVALUETEST2.CROSSVALUETEST2', 'M_GDP')}
|
Image Added In einigen Fällen können die Werte gleich sein, aber der Attributcode kann unterschiedlich sein. In diesem Fall müssen Sie BellaDati ausdrücklich mitteilen, welches Attribut aus dem referenzierten Dataset verwendet werden soll. Dies erreichen Sie, indem Sie memberIdentifier als zweiten Parameter von crossValue-Funktionen angeben. Du musst deinen eigenen String mit memberValue erstellen. Code Block |
---|
crossValue('CROSSVALUETEST2.CROSSVALUETEST2', '[L_COUNTRY_REF="'+memberValue()+'"]','M_GDP')
|
In diesem Beispiel ist L_COUNTRY_REF der Code des Attributs im referenzierten Dataset und memberValue der Wert des aktuellen Werts (Name des Landes). Image Added Info |
---|
Dadurch werden auch Drill-Down-Pfade automatisch verarbeitet. |
Querverweis mit FilterBellaDati berücksichtigt auch keine Filter, die über die Einstellungen der Ansicht angewendet werden. Daher müssen Sie BellaDati in der Formeldefinition explizit mitteilen, welche Filter und wie Sie sie verwenden wollen. Code Block |
---|
filter("L_PASS_RESULT in ('" + memberValue() + "') AND L_PASS_SUBJECT in ('Math')"){
crossValue('CUBE_RESULTS.RESULTS', 'L_STUDENT_COUNT')
}
|
Der Filter kann auch direkt in der crossValue-Funktion definiert werden: Code Block |
---|
crossValue('CROSS', '[L_ATT1="aaa"]','M_CROSS') |
Mehrere Bedingungen können mit dem Pluszeichen kombiniert werden: Code Block |
---|
crossValue('CROSS', '[L_ATT1="aaa"]'+'[L_ATT2="bbb"]','M_CROSS') |
Note |
---|
Bitte beachten Sie, dass der Wert des Filters String sein muss, auch wenn es sich um einen numerischen Wert handelt. Beispiel: crossValue('dataset','[L_MONTH="'+month(minus(date(contextDay()),'months',1)).toString()+'"]','M_INDICATOR') |
Querverweis mit DatumBeim Filtern von Datum muss das Datumsattribut im Format'yyyyyyy-MM-dd' vorliegen. Code Block |
---|
filter("L_DATE in ('2015-01-01')"){
crossValue('CUBE_RESULTS.RESULTS', 'M_MEASURE')
} |
gefiltertes Datum kann auch innerhalb der crossValue-Funktion definiert werden: Code Block |
---|
crossValue('CUBE_RESULTS.RESULTS', '[L_DATE={2015-01-01}]', 'M_MEASURE') |
Mehr über Filter und deren Kombinationen finden Sie unter Filtern in Formelns. Cross-Referenzierende AttributeSeit BellaDati 2.9.2 ist es auch möglich, auf Attribute zuzugreifen, indem man Operatoren wie LASTVALUE oder FIRSTVALUE verwendet. Code Block |
---|
crossValue('COUNTIES', 'L_REGION_LASTVALUE') |
Nächste Schritte |