関数 | 説明 |
---|
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 |
---|
| Date | firstValue('L_DATE') |
---|
Project1 | 1/1/2015 | 1/1/2015 | Project1 | 5/1/2015 | 1/1/2015 | Project2 | 3/1/2015 | 3/1/2015 | Project2 | 8/1/2015 | 3/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 |
---|
Project | Date | lastValue('L_DATE') |
---|
Project1 | 1/1/2015 | 5/1/2015 | Project1 | 5/1/2015 | 5/1/2015 | Project2 | 3/1/2015 | 7/1/2015 | Project2 | 7/1/2015 | 7/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の特定のメンバーの表現を計算します。 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 |
---|
ユーザー | スコア | rank() | ピーター | 90.3 | 2 | ジョン | 92.7 | 1 | アンナ | 89.7 | 3 |
|
|
|
| |
| |
rankInner() { expression } | 表のすべての使用ドリルダウン内の表現に適用されているインジケータの数順(ランク – 昇順)を返します。例: Section |
---|
Column |
---|
ドリルダウン | 売上 | rankInner() |
---|
コーヒー | 75000 | 1 | カフェラテ | 25000 | 3 | カフェモカ | 35000 | 2 | ディカフェエスプレッソ | 15000 | 1 | 紅茶 | 100000 | 2 | レモン | 100000 | 1 |
|
|
|
rankInner(true) { expression } | 表のすべての使用ドリルダウン内の表現に適用されているインジケータの数順(ランク – 降順)を返します。例: Section |
---|
Column |
---|
ドリルダウン | 売上 | rankInner(true) |
---|
コーヒー | 75000 | 2 | カフェラテ | 25000 | 2 | カフェモカ | 35000 | 1 | ディカフェエスプレッソ | 15000 | 3 | 紅茶 | 100000 | 1 | レモン | 100000 | 1 |
|
|
|
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 } | +イギリス | 3000 | 3000 | --ロンドン | 1000 | 3000 | --マンチェスター | 1000 | 3000 | --オックスフォード | 1000 | 3000 |
|
|
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 2.9.4). |
withoutViewFilter() { expression } | Only report filter and indicator filter will be applied (available since BellaDati 2.9.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 |
---|
| data = loadData('L_DRILLDOWN', 'M_INDICATOR')
getMapValue(data, '[memberId]') |
The memberId has to have following format: [memberId] = [L_ATTRIBUTE={Value}]. Usually, the function is used toghether with withoutDrillDown(). Code Block |
---|
| 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.: Code Block |
---|
| data = loadData('L_DRILLDOWN', 'M_INDICATOR_rank()')
getMapValue(data, '[memberId]') //will return M_INDICATOR_rank() |
Code Block |
---|
| 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 |
---|
| data = loadData('L_DRILLDOWN', 'L_ATTRIBUTE_LASTVALUE') |
Code Block |
---|
| data = loadData('L_DRILLDOWN', 'L_ATTRIBUTE_FIRSTVALUE') |
|