関数 | 説明 |
---|
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の特定のメンバーの表現を計算します。定義された日付に、定義された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 |
---|
| 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 |
---|
| withoutFilter() {
rank('L_CITY', 'Aberdeen', 'M_VISITS') |
| | |
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ラベルは提出されず、エラーの詳細は印刷されます。デバッグモードを有効にします。式にエラーが含まれる場合、表セルにはエラーに関する詳細なスタックトレースが含まれ、チャートと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 |
---|
| 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 |
---|
| 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 |
---|
| 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') |
|