Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Sv translation
languageja

特別な機能

 

機能

説明

void filter(String filterExpression, { expression } )

特別なフィルターでパスされた表現を評価します。例:

Code Block
filter('M_MEASURE > 100') { L_ID_COUNT } 

Double aggregatePrevLevel(int countOfPrevlevels, { expression } )

埋め込まれた表現の集合値を返却します。集合体は特定の上のレベルのために計算されます。例:

Code Block
total = aggregatePrevLevel(1, {
  cumulateFromTime(actualYear(), {
    'M_NAME_1' + 'M_NAME_2'
  });
});
current = cumulateFromTime(actualYear(), {
    'M_NAME_1' + 'M_NAME_2'
});
return current / total;
Double firstValue()

選択したレベル(方法)の最低値を返却します。例:

Section
Column
 日付最初の値('L_DATE')
Project11/1/20151/1/2015
Project15/1/20151/1/2015
Project23/1/20153/1/2015
Project28/1/20153/1/2015
Double forEachRow('expression')

データセットの行レベルにある表現を計算し、特定の結果から合計を計算します。以下の例は、forEachRow()方法とそれ以外の掛け算の違いを表しています:

Section
Column

 

 

Ind1

Ind2

forEachRow('M_IND_1 * M_IND_2')

M_IND_1 * M_IND_2

メンバー

 

5

30

80

150

 

ドリルダウンメンバー1

3

20

60

60

 

ドリルダウンメンバー2

2

10

20

20

Double forEachRow('expression','aggregation')データセットの行レベルにある表現を計算し、特定の結果から2番目のパラメーターに基づいて集合体を計算します。集合体はSUM, MIN, MAX, AVG, COUNT, DCOUNTを含むことができます。
Double formatNumber(number value)設定のインディケーター形式に基づいて値を形式化します。
Double formatNumber(number value, 'String pattern')設定のインディケーター形式に基づいて値を形式化します。ストリングパターンにより形式の特定をコントロールすることができます。
Double lastValue()

選択したレベル(方法)の最低値を返却します。例:

Section
Column
プロジェクト日付最終値('L_DATE')
Project11/1/20155/1/2015
Project15/1/20155/1/2015
Project23/1/20157/1/2015
Project27/1/20157/1/2015
void eachMember(String attribute) { expression }

アトリビュトパラメーターにより定義された特定のアトリビュト値の表現を計算します。

Section
Column

L_ATTRIBUTE_1

L_ATTRIBUTE_2

Ind1

Ind2

def result = 0

eachMember('L_ATTRIBUTE_2') { result = M_IND_1 * M_IND_2 }

return result

M_IND_1 * M_IND_2

 

5

30

80

150

 

Value1

3

20

60

60

 

Value2

2

10

20

20

正しい使用法はフォーミュラベストプラクティスを参照して下さい。

Double members(String path, { expression } )

希望のドリルダウンメンバー値の表現を計算します。例:

Code Block
return members('[L_LEVEL_1=VAL][L_LEVEL_2="VAL1,VAL2"]', {
M_NAME_1 * M_NAME_2
})

この例は、特定のメンバーに集合されたインディケーターM_NAME_1の値を返却します。

正しい使用法はフォーミュラベストプラクティスを参照して下さい。

Double membersSum({ expression } )

特定のメンバーの表現を計算し、特定の結果から合計を計算します。以下の例は、membersSum()方法とそれ以外の掛け算の違いを表しています:

Section
Column

 

 

Ind1

Ind2

membersSum( { M_IND_1 * M_IND_2 } )

M_IND_1 * M_IND_2

Member

 

5

30

80

150

 

DrillDownMember1

3

20

60

60

 

DrillDownMember2

2

10

20

20

正しい使用法はフォーミュラベストプラクティスを参照して下さい。

Double membersSum(String levelCode, { expression } )

定義されたlevelCodeの特定のメンバーの表現を計算し、特定の結果から合計を計算します。

正しい使用法はフォーミュラベストプラクティスを参照して下さい。

Double membersAvg({ expression } )

特定のメンバーの表現を計算し、特定の結果から平均値を計算します。

正しい使用法はフォーミュラベストプラクティスを参照して下さい。

Double membersAvg(String levelCode, { expression } )

定義されたlevelCodeの特定のメンバーの表現を計算し、特定の結果から平均値を計算します。

正しい使用法はフォーミュラベストプラクティスを参照して下さい。

Double membersMin({ expression } )

特定のメンバーの表現を計算し、特定の結果から最小値を計算します。

正しい使用法はフォーミュラベストプラクティスを参照して下さい。

Double membersMin(String levelCode, { expression } )

定義されたlevelCodeの特定のメンバーの表現を計算し、特定の結果から最小値を計算します。

正しい使用法はフォーミュラベストプラクティスを参照して下さい。

Double membersMax({ expression } )

特定のメンバーの表現を計算し、特定の結果から最大値を計算します。

正しい使用法はフォーミュラベストプラクティスを参照して下さい。

Double membersMax(String levelCode, { expression } )

定義されたlevelCodeの特定のメンバーの表現を計算し、特定の結果から最大値を計算します。

正しい使用法はフォーミュラベストプラクティスを参照して下さい。

Double dateAttribute(String levelCode){ expression }

 

定義日の定義levelCodeの特定のメンバーの表現を計算します。

Code Block
dateAttribute('L_DATE') {dateInterval('2014-01-01','2014-12-01') { 'M_NAME_1' + 'M_NAME_2' } }
Double timeAttribute(String levelCode){ expression }

定義時間の定義levelCodeの特定のメンバーの表現を計算します。

Code Block
timeAttribute('L_TIME') {timeInterval('10:00:00','12:00:00') { 'M_NAME_1' + 'M_NAME_2' } }

String attributeCode()

現在のメンバーのアトリビュトコードを返却します。例:

Section
Column

 

人口

attributeCode()

プラハ

1200000

L_CITY

ベルリン

3000000

L_CITY

ロンドン

7825200

L_CITY

String memberIdentifier()

現在のメンバーのアトリビュトコードと値を以下の様式で返却します。

Section
Column

 

人口

memberIdentifier()

プラハ

1200000

[L_CITY= {プラハ}]

ベルリン

3000000

[L_CITY= {ベルリン}]

ロンドン

7825200

[L_CITY= {ロンドン}]

String memberValue()

現在のメンバー値を返却します。例:

Section
Column

 

人口

memberValue()

プラハ

1200000

プラハ

ベルリン

3000000

ベルリン

ロンドン

7825200

ロンドン

rank() { expression }

使用ドリルダウン内の表現に適用されているインディケーターの数順(ランク)を返却します。例:

Section
Column

ユーザー

スコア

ランク()

ピーター

90.3

2

ジョン

92.7

1

アンナ

89.7

3

rankInner() { expression }

表の全ての使用ドリルダウン内の表現に適用されているインディケーターの数順(ランク昇順)を返却します。例:

Section
Column
ドリルダウン売上内部ランク()
コーヒー750001
カフェラテ250003
カフェモカ350002
ディカフェエスプレッソ150001
紅茶1000002
レモン1000001
rankInner(true) { expression }

表の全ての使用ドリルダウン内の表現に適用されているインディケーターの数順(ランク降順)を返却します。例:

Section
Column
ドリルダウン売上内部ランク()
コーヒー750002
カフェラテ250002
カフェモカ350001
ディカフェエスプレッソ150003
紅茶1000001
レモン1000001
setDebugOn(true)

デバッグモードを有効化します。フォーミュラがエラーを含むとき、表列はエラー・チャートの詳細なスタックトレースを含みます。KPIラベルは提出されず、エラーの詳細は印刷されます。

この機能をデバッグしているときのみに使うことをお勧めします。デバッグしていない場合、削除またはコメントとして残してください:

//setDebugOn(true)
withoutDateTime() { expression }

適用日付時刻インターバルから脱退します。例:

Section
Column

日付

M_INDICATOR

withoutDateTime() { M_INDICATOR }

1/12 - 12/12

1000

3000

1/1/2013 - 1/31/2013

100

3000

withoutDrillDown() { expression }

適用ドリルダウンから脱退します。例:

Section
Column

M_INDICATOR

withoutDrillDown() { M_INDICATOR }

+UK

3000

3000

--ロンド

1000

3000

--マンチェスター

1000

3000

--オックスフォード

1000

3000

withoutFilter() { expression }

 

適用フィルターから脱退します。例: (フィルターはSEGMENT=SMBに設定してあります)

Section
Column

M_INDICATOR

withoutFilter() { M_INDICATOR }

パリ

1000

3000

ロンドン

900

3000

ベルリン

1100

3000

パラメーターを時刻フォーミュラに渡す

フォーミュラによって時刻入力を定義することは可能です。以下の機能はこれらのフォーミュラのみに対応できます。

機能

説明

void set(String name, Object value)

パラメーター値の設定をします。

Object get(String name)

パラメーター値のロードをします。

Object indicator()

現在の表の行コンテクストからインディケーターを返却します。この機能はフォーミュラ定義のインディケーター(レポートで定義)も返却します。例:

Code Block
value(actualYear(),'actualMonth - 1m - 1d',indicator())

以下の例も検討してくださいいくつかのインディケーターコードM_NAME_1, M_NAME_2, M_NAME_3があります。これらのインディケーターはフォーミュラ1-3で使われています。この時間エリアは時間フォーミュラ1-5によって定義されています。

 

時間フォーミュラ1:
M_NAME_1

時間フォーミュラ:
M_NAME_2

時間フォーミュラ3:
M_NAME_3

時間フォーミュラ4:
s = get('suffix');
return value('M_NAME' + s);

時間フォーミュラ5:
value(actualYear(),
'now-1m',indicator())

フォーミュラ1:
set('suffix', '_1');
return M_NAME_1;

1000

2000

3000

1000

1000

フォーミュラ2:
set('suffix', '_2');
return M_NAME_2;

1000

2000

3000

2000

2000

フォーミュラ3:
set('suffix', '_3');
return M_NAME_3;

1000

2000

3000

3000

3000

M_NAME_1

1000

2000

3000

N/A

1000

M_NAME_2

1000

2000

3000

N/A

2000

M_NAME_3

1000

2000

3000

N/A

3000

ユーザー情報の取得

報告の必要に応じてログインユーザーの情報を取得することができます。

機能説明
String getSignedUserName()現在サインインしているユーザーの名前を返却します。
String getSignedUserSurname()現在サインインしているユーザーの名字を返却します。
String getSignedUserEmail()現在サインインしているユーザーのメールアドレスを返却します。
String getSignedUser()現在サインインしているユーザーのユーザー名を返却します。

リストと配列の処理

BellaDatihttps://docs.oracle.com/javase/7/docs/api/java/util/Arrays.htmlhttps://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/ArrayUtils.htmlからのArrayUtils配列に対応しています。

シンタックス: パッケージの名前を最初に定義し、その後希望の方法を使用してください。

例:

def int[] a = [1,2,3]
a = ArrayUtils.add(a, 0)
Arrays.sort(a)
return a[3]

次に

ユーザー

Sv translation
languagede

Sonderfunktionen

 

Function

Beschreibung

String[] comments()

Gibt ein Array von Text innerhalb von Kommentaren zurück.

Code Block
ArrayUtils.toString(comments())
String[] commentsDetails()

Liefert ein Array von Kommentaren im Format datetime + text, z.B.: 216-08-12T15:24:22.486;text.

Code Block
ArrayUtils.toString(commentsDetails())

void filter(String filterExpression, { expression } )

Bewertet den übergebenen Ausdruck mit dem angegebenen Filter. Zum Beispiel:

Code Block
filter('M_MEASURE > 100') { L_ID_COUNT } 

Double aggregatePrevLevel(int countOfPrevlevels, { expression } )

Liefert den aggregierten Wert des eingebetteten Ausdrucks. Die Aggregation wird für die angegebene obere Ebene berechnet. Zum Beispiel:

Code Block
total = aggregatePrevLevel(1, {
  cumulateFromTime(actualYear(), {
    'M_NAME_1' + 'M_NAME_2'
  });
});
current = cumulateFromTime(actualYear(), {
    'M_NAME_1' + 'M_NAME_2'
});
return current / total;
Double firstValue()

Liefert den niedrigsten Wert der ausgewählten Ebene (Messung). Zum Beispiel:

Section
Column
 DatefirstValue('L_DATE')
Project11/1/20151/1/2015
Project15/1/20151/1/2015
Project23/1/20153/1/2015
Project28/1/20153/1/2015
Double forEachRow('expression')

Berechnet den Ausdruck auf Datensatzzeilebene und berechnet die Summe aus bestimmten Ergebnissen. Das folgende Beispiel zeigt den Unterschied der Verwendung von Multiplikation innerhalb der forEachRow()-Methode und außerhalb:

Section
Column

 

 

Ind1

Ind2

forEachRow('M_IND_1 * M_IND_2')

M_IND_1 * M_IND_2

Member

 

5

30

80

150

 

DrillDownMember1

3

20

60

60

 

DrillDownMember2

2

10

20

20

Double forEachRow('expression','aggregation')Berechnet den Ausdruck auf Datensatzebene und berechnet die Aggregation basierend auf dem zweiten Parameter aus bestimmten Ergebnissen. Die Aggregation kann Summen, MIN, MAX, AVG, COUNT, DCOUNT beinhalten.
Double formatNumber(number value)Formatiert den Wert entsprechend dem Format des Indikators aus den Einstellungen.
Double formatNumber(number value, 'String pattern')Formatiert den Wert entsprechend dem Format des Indikators aus den Einstellungen. Mit dem Zeichenkettenmuster können Sie steuern, wie das angegebene Format aussieht.
Double lastValue()

Liefert den niedrigsten Wert der ausgewählten Ebene (Messwert). Zum Beispiel:

Section
Column
ProjectDatelastValue('L_DATE')
Project11/1/20155/1/2015
Project15/1/20155/1/2015
Project23/1/20157/1/2015
Project27/1/20157/1/2015


void eachMember(String attribute) { expression }

Berechnet den Ausdruck für bestimmte Attributwerte, die durch den Attributparameter definiert sind.

Section
Column

L_ATTRIBUTE_1

L_ATTRIBUTE_2

Ind1

Ind2

def result = 0

eachMember('L_ATTRIBUTE_2') { result = M_IND_1 * M_IND_2 }

return result

M_IND_1 * M_IND_2

Value

 

5

30

80

150

 

Value1

3

20

60

60

 

Value2

2

10

20

20

Lesen Sie die besten besten Praktiken der Formel für die korrekte Verwendung.

Double members(String path, { expression } )

Berechnet den Ausdruck für die gewünschten Drill-Down-Memberwerte. Beispiel:

Code Block
return members('[L_LEVEL_1=VAL][L_LEVEL_2="VAL1,VAL2"]', {
M_NAME_1 * M_NAME_2
})

Dieses Beispiel gibt den Wert des Kennzeichens M_NAME_1 zurück, das für bestimmte Mitglieder aggregiert wurde.

Lesen Sie die besten Praktiken der Formel für die korrekte Verwendung.

Double membersSum({ expression } )

Berechnet den Ausdruck für bestimmte Mitglieder und berechnet die Summe aus bestimmten Ergebnissen. Das folgende Beispiel zeigt den Unterschied der Verwendung von Multiplikation innerhalb der membersSum()-Methode und außerhalb:

Section
Column

 

 

Ind1

Ind2

membersSum( { M_IND_1 * M_IND_2 } )

M_IND_1 * M_IND_2

Member

 

5

30

80

150

 

DrillDownMember1

3

20

60

60

 

DrillDownMember2

2

10

20

20

Lesen Sie die besten Praktiken der Formel für die korrekte Verwendung.

Double membersSum(String levelCode, { expression } )

Berechnet den Ausdruck für bestimmte Mitglieder des definierten LevelCodes und berechnet die Summe aus bestimmten Ergebnissen.

Lesen Sie die besten Praktiken der Formel für die korrekte Verwendung.

Double membersAvg({ expression } )

Berechnet den Ausdruck für bestimmte Mitglieder und berechnet den Durchschnittswert aus bestimmten Ergebnissen.

Lesen Sie die besten Praktiken der Formel für die korrekte Verwendung.

Double membersAvg(String levelCode, { expression } )

Berechnet den Ausdruck für bestimmte Mitglieder des definierten LevelCodes und berechnet den Durchschnittswert aus bestimmten Ergebnissen.

Lesen Sie die besten Praktiken der Formel für die korrekte Verwendung.

Double membersMin({ expression } )

Berechnet den Ausdruck für bestimmte Mitglieder und berechnet den Minimalwert aus bestimmten Ergebnissen.

Lesen Sie die besten Praktiken der Formel für die korrekte Verwendung.

Double membersMin(String levelCode, { expression } )

Berechnet den Ausdruck für bestimmte Mitglieder des definierten LevelCodes und berechnet den Minimalwert aus bestimmten Ergebnissen.

Lesen Sie die besten Praktiken der Formel für die korrekte Verwendung.

Double membersMax({ expression } )

Berechnet den Ausdruck für bestimmte Mitglieder und berechnet den Maximalwert aus bestimmten Ergebnissen.

Lesen Sie die besten Praktiken der Formel für die korrekte Verwendung.

Double membersMax(String levelCode, { expression } )

Berechnet den Ausdruck für bestimmte Mitglieder des definierten levelCode und berechnet den Maximalwert aus bestimmten Ergebnissen.

Lesen Sie die besten Praktiken der Formel für die korrekte Verwendung.

Double dateAttribute(String levelCode){ expression }

 

Berechnet den Ausdruck für bestimmte Mitglieder des definierten levelCode an definierten Daten.

Code Block
dateAttribute('L_DATE') {dateInterval('2014-01-01','2014-12-01') { 'M_NAME_1' + 'M_NAME_2' } }
Double timeAttribute(String levelCode){ expression }

Berechnet den Ausdruck für bestimmte Mitglieder des definierten levelCode zur definierten Zeit.

Code Block
timeAttribute('L_TIME') {timeInterval('10:00:00','12:00:00') { 'M_NAME_1' + 'M_NAME_2' } }

String attributeCode()

Returns the attribute code of current member. Example:

Section
Column

 

Population

attributeCode()

Prague

1200000

L_CITY

Berlin

3000000

L_CITY

London

7825200

L_CITY

String localize(String attributeCode, String valueToLocalize) 
String localize(String dataSetCode, String attributeCode, String valueToLocalize);

Verfahren zum Laden von Übersetzungen aus einem referenzierten Datensatz.

Code Block
languagejava
localize('TRANSLATIONS', 'L_ORIG', firstValue('L_STATE'));

String memberIdentifier()

Liefert den Attributcode und den Wert des aktuellen Elements in der folgenden Form[L_CODE={VALUE}]. Beispiel:

Section
Column

 

Population

memberIdentifier()

Prague

1200000

[L_CITY= {Prague}]

Berlin

3000000

[L_CITY= {Berlin}]

London

7825200

[L_CITY= {London}]

String memberValue()

Liefert den Wert des aktuellen Elements. Beispiel:

Section
Column

 

Population

memberValue()

Prague

1200000

Prague

Berlin

3000000

Berlin

London

7825200

London

printComments()
Liefert formatierten Text von Kommentaren. Es ist nicht nötig, darüber zu iterieren.

rank() { expression }

Liefert die numerische Reihenfolge (Rang) des Indikators, der auf den Ausdruck innerhalb der verwendeten Auflistung angewendet wird. Beispiel:

Section
Column

User

Score

rank()

Peter

90.3

2

John

92.7

1

Anna

89.7

3

rank('L_DRILLDOWN', 'M_INDICATOR')

Der Rang wird über einen bestimmten Drill-Down berechnet.

rank('L_DRILLDOWN', 'MEMBER', 'M_INDICATOR')

The rank is calculated over a certain drill-down.

 

Code Block
languagegroovy
withoutFilter() {
	rank('L_CITY', 'Aberdeen', 'M_VISITS')
}


rankInner() { expression }

Liefert die numerische Reihenfolge (Rang - aufsteigend) des im Ausdruck verwendeten Indikators innerhalb aller verwendeten Aufrisse in der Tabelle. Beispiel:

Section
Column
Drill-downSalesrankInner()
Coffee750001
- Caffe Latte250003
- Caffe Mocca350002

- Decaf Espresso

150001
Tea1000002
- Lemon1000001
rankInner(true) { expression }

Liefert die numerische Reihenfolge (Rang - absteigend) des im Ausdruck verwendeten Indikators innerhalb aller verwendeten Aufrisse in der Tabelle. Beispiel:

Section
Column
Drill-downSalesrankInner(true)
Coffee750002
- Caffe Latte250002
 - Caffe Mocca350001
- Decaf Espresso150003
Tea1000001
- Lemon1000001
setDebugOn(true)

Aktiviert den Debug-Modus. Ifformulacontains Fehler, Tabellenzelle enthält detaillierte Stapelverfolgung über Fehler, Diagramm und KPI-Label werden nicht dargestellt und Fehlerdetails werden ausgedruckt.

Wir empfehlen, diese Funktion nur während des Debuggens zu verwenden. Wenn nicht debuggend, löschen oder als Kommentar markieren:

//setDebugOn(true)
withoutDateTime() { expression }

Deaktivieren Sie die geltenden Datums- und Zeitintervalle. Beispiel:

Section
Column

Date

M_INDICATOR

withoutDateTime() { M_INDICATOR }

1/12 - 12/12

1000

3000

1/1/2013 - 1/31/2013

100

3000

withoutDrillDown() { expression }

Opt-out von den angewandten Drill-Downs. Beispiel:

Section
Column

Country

M_INDICATOR

withoutDrillDown() { M_INDICATOR }

+UK

3000

3000

--London

1000

3000

--Manchester

1000

3000

--Oxford

1000

3000

In Fällen, in denen eine mehrfache Drill-Down-Anwendung nicht möglich ist, können einige der Drill-Downs von der Funktion withoutDrillDownFunction ausgeschlossen werden (die Aggregation für die obere Ebene wird angezeigt).

Section
Column
Country

City

M_INDICATOR

withoutDrillDown('L_CITY') { M_INDICATOR }

UK

Manchester

3000

4000

UK

London

1000

4000

France

Paris

1000

2000

France

Nice

1000

2000

withoutFilter() { expression }

 

Opt-out from applied filters. Example: (Filter is set to SEGMENT=SMB)

Section
Column

City

M_INDICATOR

withoutFilter() { M_INDICATOR }

Paris

1000

3000

London

900

3000

Berlin

1100

3000

withoutReportFilter() { expression }
 Es werden nur Ansichtsfilter und Indikatorfilter angewendet (verfügbar seit BellaDati 2.9.4).
withoutViewFilter() { expression }
Es werden nur Berichtsfilter und Indikatorfilter angewendet (verfügbar seit BellaDati 2.9.4).
loadData('L_DRILLDOWN', 'M_INDICATOR')

Ermöglicht das Laden von Werten eines Indikators für alle Mitglieder des angegebenen Attributs. Es kann die Leistung von Formeln erheblich verbessern. Die Funktion gibt die Karte der Mitglieder und ihrer Werte zurück. Auf diese Karte kann mit der Funktion getMapValue() zugegriffen werden.

 

 

Code Block
languagegroovy
data = loadData('L_DRILLDOWN', 'M_INDICATOR')
getMapValue(data, '[memberId]')

Die memberId muss folgendes Format haben: [memberId] = [L_ATTRIBUTE={Value}]. Normalerweise wird die Funktion zusammen mit withoutDrillDown() verwendet.

Code Block
languagegroovy
withoutDrillDown() { 
data = loadData('L_COUNTRY', 'M_NUMBERS_BUILT')
getMapValue(data, '[L_COUNTRY={Germany}]')
  }

Es ist auch möglich, Rang oder Aggregation wie MAX, MIN usw. zu verwenden:

Code Block
languagegroovy
data = loadData('L_DRILLDOWN', 'M_INDICATOR_rank()')
getMapValue(data, '[memberId]') //will return M_INDICATOR_rank() 
Code Block
languagegroovy
data = loadData('L_DRILLDOWN', 'M_INDICATOR@MAX')
getMapValue(data, '[memberId]') //will return the highest value of indicator

 

Anstelle des Kennzeichens kann der Benutzer auch den ersten bis letzten Wert eines Attributs abrufen.

Code Block
languagegroovy
data = loadData('L_DRILLDOWN', 'L_ATTRIBUTE_LASTVALUE')
Code Block
languagegroovy
data = loadData('L_DRILLDOWN', 'L_ATTRIBUTE_FIRSTVALUE')

Parameterübergabe an die Zeitformel

It is possible to define the time entry by formula. Following functions are applicable for these kind of formulas only.

Funktion

Beschreibung

void set(String name, Object value)

Setzt den Parameterwert.

Object get(String name)

Lädt den Parameterwert.

Object indicator()

Rückgabekennzeichen aus dem Kontext der Zeile der aktuellen Tabelle. Diese Funktion gibt auch Werte von formeldefinierten Indikatoren zurück (definiert im Bericht). Beispiel:

Code Block
value(actualYear(),'actualMonth - 1m - 1d',indicator())

Consider following example - we have several indicators with codes M_NAME_1, M_NAME_2 and M_NAME_3. These indicators are used in formulas 1 - 3. The time area is defined by time formulas 1 - 5.

 

Time formula 1:
M_NAME_1

Time formula 2:
M_NAME_2

Time formula 3:
M_NAME_3

Time formula 4:
s = get('suffix');
return value('M_NAME' + s);

Time formula 5:
value(actualYear(),
'now-1m',indicator())

Formula 1:
set('suffix', '_1');
return M_NAME_1;

1000

2000

3000

1000

1000

Formula 2:
set('suffix', '_2');
return M_NAME_2;

1000

2000

3000

2000

2000

Formula 3:
set('suffix', '_3');
return M_NAME_3;

1000

2000

3000

3000

3000

M_NAME_1

1000

2000

3000

N/A

1000

M_NAME_2

1000

2000

3000

N/A

2000

M_NAME_3

1000

2000

3000

N/A

3000

Getting User Information

It is possible to obtain information about logged in user for your reporting needs.

FunctionDescription
String getSignedUserName()Returns name of currently signed in user.
String getSignedUserSurname()Returns surname of currently signed in user.
String getSignedUserEmail()Returns email of currently signed in user.
String getSignedUser()Returns username of currently signed in user.

Working with lists and arrays

BellaDati supports all Arrays from https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html and ArrayUtils from https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/ArrayUtils.html.

Syntax: first define name of the package, then use desired method.

Example:

def int[] a = [1,2,3]
a = ArrayUtils.add(a, 0)
Arrays.sort(a)
return a[3]

Next Steps