Page History
Anchor | ||||
---|---|---|---|---|
|
Table of Contents | ||
---|---|---|
|
概要
Yellowfinのビュービルダーでは、データベースから読み取ったデータを使って計算を行う、計算フィールドを作成することができます。これらの計算には、単純な四則演算だけでなく、複雑なSQL文を含めることもできます。
以下のように、様々なタイプの計算フィールドを作成することができます。
タイプ | 説明 |
SQL文を記述することなく、ビュービルダーの画面から計算フィールドを作成することができます。 | |
3801278 | テンプレートを使用して計算を作成することができます。ビルダーを使用する必要はなく、必要なフィールドを指定するだけで、計算フィールドを作成することができます。 |
ビュービルダーを使用するのではなく、SQL文を記述することで、計算フィールドを作成することができます。 |
シンプル計算式
シンプル式ビルダーは、ビューに有効な計算フィールドの作成を支援します。作成された計算フィールドは、レポート内で通常のフィールドと同様に使用することができます。定義されたすべての計算フィールドには、通常のフィールドのように集約を適用することができますが、SQLを使用した計算フィールドだけには、集約を適用することができません。計算フィールドの作成を開始する前に、結果として必要なフィールドのタイプが、どのようなタイプなのかを検討したうえで、メトリック(数値)か、ディメンション(次元)のどちらかから選択してください。
メトリック(数値)
計算を数値として返します。また、小数点以下桁数、接頭辞、接尾辞、デフォルト集約のような、標準的なメトリック(数値)書式オプションを使用することができます。
ディメンション(次元)
計算に、ドリルダウン階層を含む、すべての標準的なディメンション(次元)の書式や、機能を使用することができます。
計算の作成
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Case文
Case文を使用することで、より複雑な計算を作成することができます。Case文は、ビジネスロジックに基づくカラム(列)に、新しい値を設定することができます。例えば、年齢が20歳未満の場合に、「Young」と表示することができます。
Case文の構造
Case文にあまり馴染みのない方は、以下の基本的な構造を参考にしてください。
Code Block | ||
---|---|---|
| ||
CASE WHEN this is true THEN return this WHEN this is true THEN return this WHEN this is true THEN return this ... ELSE return this END |
大文字で表示された箇所が、Case文の要素です。
要素 | 説明 |
CASE | 計算は、常にCASE要素から始まります。計算を作成する前に、必ずこの要素を追加してください。他の要素は、CASEを追加するまで使用することができません。 |
WHEN | CASE文内では、必要なだけWHEN要素を何回でも使用することができますが、常にELSE要素の前に配置しなくてはいけません。WHENは、条件を定義するために使用します。例えば、
|
THEN | これは、WHEN要素とともに使用し、条件に適合した場合、何を返せばよいのかを示します。例えば、
これはつまり、AthleteAgeフィールドが21未満の場合は、「Young」と表示することを意味します。 |
ELSE | これは、いずれのWHEN条件に適合するものが何もない場合に、何を返せばよいのかを設定することができるオプション的な要素です。これは基本的に、追加のTHENコンポーネントのように作用します。 |
END | 計算は、常にEND要素で終了する必要があります。これにより、Yellowfinに計算の終了を伝えることができます。ENDが無い場合は、計算が有効になりませんので、必ず追加してください。 |
Case文の作成
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
定義済み
Styleclass | ||
---|---|---|
| ||
カスタム関数は、XML形式で記述され、Yellowfinサーバーに格納されている関数です。これらの関数は通常、式ビルダーでは作成することが難しい、高度なSQL文で構成されており、システム管理者により設定されます。
- 「機能」から使用したい式テンプレートを選択し、「結果のフィールドタイプ」を指定します。
- XMLファイルで定義される関数は、いくつかのパラメーター(または、引数)入力が必要です。パラメーターは、そのデータタイプに合致するカラム(列)一覧から選択することができます。
- 各引数をクリックして、値を設定します。設定する値は定数、またはフィールドを参照することができます。
- すべての引数に値を設定したら、「保存」ボタンをクリックして、保存します。
新規カスタム関数作成
カスタム関数は、独自のインスタンス内で設定することができます。新しいカスタムXML関数をアプリケーションに追加する場合は、システム管理者に連絡をするか、カスタム関数から、より詳細な情報を確認してください。
フリーハンドSQL
Styleclass | ||
---|---|---|
| ||
SQLに関するスキルがあれば、SQL入力欄へ直接SQL文を記述することができます。その場合は、「式のタイプ」で「フリーハンドSQL」を選択すると、SQL入力欄が表示されます。作成したいフィールドに応じた、SQL文を記述してください。
- ここで記述することができるのは、「SELECT命令文」のみであり、SELECTキーワードやFROM句、WHERE句を含めることはできません。
- 参照するカラム(列)は、すべてビュー内に存在している必要があり、集約関数(平均、最大、最小、合計、個数)を使用することはできません。
Info |
---|
YellowfinがフリーハンドFQLに対するセキュリティをどのように処理するかを設定することができます。より詳細な情報は、利用可能なセキュリティ機能を参照してください。 |
計算式合計
計算式を作成したら、その集計値の合計を定型化して表示することができます。より詳細な情報は、サマリー項目を参照してください。
horizontalrule |
---|
Styleclass | ||
---|---|---|
| ||