Versions Compared

Key

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

...

Sv translation
languageja

特別な関数

 

関数

説明

String[] comments()

コメント内のテキストの配列を返します。

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

日付時刻+テキスト形式のコメントの配列を返します。例: 216-08-12T15:24:22.486;text.

Code Block
ArrayUtils.toString(commentsDetails())

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
 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')

データセットの行レベルで式を計算し、特定の結果から合計を計算します。以下の例は、forEachRow()メソッド内と外部とで掛け算をすることの違いを表しています:

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')

データセットの行レベルで式を計算し、特定の結果の2番目のパラメーターに基づいて集計を計算します。集計には、SUM、MIN、MAX、AVG、COUNT、DCOUNTを含めることができます。

Double formatNumber(number value)

設定からインジケータのフォーマットに従って値をフォーマットします。

Double formatNumber(number value, 'String pattern')

設定からインジケータのフォーマットに従って値をフォーマットします。文字列パターンを使用すると、形式の指定方法を制御できます。

Double lastValue()

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

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 }

属性パラメーターによって定義された特定の属性値の式を計算します。

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

正しい使用法については、Formula best practicesを参照して下さい。

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の値を返します。

正しい使用法については、Formula best practicesを参照して下さい。

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

正しい使用法については、Formula best practicesを参照して下さい。

Double membersSum(String levelCode, { expression } )

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

正しい使用法については、Formula best practicesを参照して下さい。

Double membersAvg({ expression } )

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

正しい使用法については、Formula best practicesを参照して下さい。

Double membersAvg(String levelCode, { expression } )

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

正しい使用法については、Formula best practicesを参照して下さい。

Double membersMin({ expression } )

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

正しい使用法については、Formula best practicesを参照して下さい。

Double membersMin(String levelCode, { expression } )

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

正しい使用法については、Formula best practicesを参照して下さい。

Double membersMax({ expression } )

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

正しい使用法については、Formula best practicesを参照して下さい。

Double membersMax(String levelCode, { expression } )

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

正しい使用法については、Formula best practicesを参照して下さい。

Double dateAttribute(String levelCode){ expression }

 

定義日の定義levelCodeの特定のメンバーの表現を計算します。定義された日付に、定義された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 localize(String attributeCode, String valueToLocalize)   
String localize(String dataSetCode, String attributeCode, String valueToLocalize);

参照データセットから翻訳をロードする方法。

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

String memberIdentifier()

現在のメンバーの属性コードと値を以下の様式で返します。[L_CODE = {VALUE}]の形式で現在のメンバーの属性コードと値を返します。例:

Section
Column

 

人口

memberIdentifier()

プラハ

1200000

[L_CITY= {プラハ}]

ベルリン

3000000

[L_CITY= {ベルリン}]

ロンドン

7825200

[L_CITY= {ロンドン}]

String memberValue()

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

Section
Column

 

人口

memberValue()

プラハ

1200000

プラハ

ベルリン

3000000

ベルリン

ロンドン

7825200

ロンドン

 
printComments()
 

コメントの書式付きテキストを返します。それを繰り返す必要はありません。

rank() { expression }

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

Section
Column

ユーザー

スコア

rank()

ピーター

90.3

2

ジョン

92.7

1

アンナ

89.7

3

  

rank('L_DRILLDOWN', 'M_INDICATOR')

ランクは特定のドリルダウンで計算されます。

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

ランクは特定のドリルダウンとメンバーについて計算します。

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

表のすべての使用ドリルダウン内の表現に適用されているインジケータの数順(ランク昇順)を返します。例表で使用されているすべてのドリルダウン内の式に適用されているインジケータの番号順(ランク-昇順)を返します。例:

Section
Column

 

 

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

表のすべての使用ドリルダウン内の表現に適用されているインジケータの数順(ランク降順)を返します。例表で使用されているすべてのドリルダウン内の式に適用されているインジケータの数値順(ランク-降順)を返します。例:

Section

 

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

デバッグモードを有効化します。数式がエラーを含むとき、表列はエラー・チャートの詳細なスタックトレースを含みます。KPIラベルは提出されず、エラーの詳細は印刷されます。デバッグモードを有効にします。式にエラーが含まれる場合、表セルにはエラーに関する詳細なスタックトレースが含まれ、チャートと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 }

+イギリス

3000

3000

--ロンドン

1000

3000

--マンチェスター

1000

3000

--オックスフォード

1000

3000

1000

3000

場合によっては、複数のドリルダウンが適用可能な場合、一部のドリルダウンをwithoutDrillDownFunction関数から除外できます(上位レベルの集計が表示されます)。In cases, whentherearemultipledrill-downsappliedinthetable, some of the drill-downs can be excluded from the withoutDrillDownFunction function (the aggregation for the upper level will be displayed).

Section
Column

都市

M_INDICATOR

withoutDrillDown('L_CITY') { M_INDICATOR }

イギリス

マンチェスター

3000

4000

イギリス

ロンドン

1000

4000

フランス

パリ

1000

2000

フランス

ニース

1000

2000

withoutFilter() { expression }

 

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

Section
Column

都市

M_INDICATOR

withoutFilter() { M_INDICATOR }

パリ

1000

3000

ロンドン

900

3000

ベルリン

1100

3000

withoutReportFilter() { expression }
 Only view filter and indicator filter will be applied (available since BellaDati ビューフィルターとインジケータフィルターのみが適用されます(BellaDati 2.9.4).4以降で使用可能)。
withoutViewFilter() { expression }
Only report filter and indicator filter will be applied (available since BellaDati レポートフィルターとインジケータフィルターのみが適用されます(BellaDati 2.9.4).4以降で使用可能)。
loadData('L_DRILLDOWN', 'M_INDICATOR')

Allows to load values of an indicator for all members of specifiedattribute. it can greatly improve the performance of formulas. The function returna map of members and their values. This map can be accessed by using function 指定された属性のすべてのメンバーのインジケータの値をロードできます。数式のパフォーマンスを大幅に改善できます。関数は、メンバーとその値のマップを返します。このマップには、getMapValue()関数を使用してアクセスできます。

 

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

memberIdの形式は以下である必要がありますThe memberId has to have following format: [memberId] = [L_ATTRIBUTE={Value}]. Usually, the function is used toghether with withoutDrillDown。通常、この関数はwithoutDrillDown().とともに使用されます。

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

It also possible to use rank or aggregation such as MAX, MIN etc.MAX、MINなどのランクや集計を使用することもできます:

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

 

Instead of indicator, users can also retrieve first of last value of an attribute.インジケータの代わりに、ユーザーは属性の最後から最初の値を取得することもできます。

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


時間式にパラメーターを渡す

数式によって時刻入力を定義することは可能です。以下の機能はこれらの数式のみに対応できます。数式で時間入力を定義することができます。次の関数は、これらの種類の数式にのみ適用できます。

関数

説明

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 M_NAME_3があります。これらのインジケータは数式1-3で使われています。この時間エリアは時間数式1-5によって定義されています。といくつかのインジケーターがあります。これらのインジケータは、式1-3で使用されます。時間領域は、時間式1-5によって定義されます。

 

時間数式 時間式 1:
M_NAME_1

時間数式 時間式 2:
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()現在サインインしているユーザーのユーザー名を返します。


リストと配列の使用

BellaDati
https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html のすべての配列
https://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]

次に

...