Yellowfinのビュービルダーでは、データベースから読み取ったデータを使って計算を行う、計算フィールドを作成することができます。これらの計算には、単純な四則演算だけでなく、複雑なSQL文を含めることもできます。
以下のように、様々なタイプの計算フィールドを作成することができます。
タイプ | 説明 |
SQL文を記述することなく、ビュービルダーの画面から計算フィールドを作成することができます。 | |
定義済み | テンプレートを使用して計算を作成することができます。ビルダーを使用する必要はなく、必要なフィールドを指定するだけで、計算フィールドを作成することができます。 |
ビュービルダーを使用するのではなく、SQL文を記述することで、計算フィールドを作成することができます。 |
シンプル式ビルダーは、ビューに有効な計算フィールドの作成を支援します。作成された計算フィールドは、レポート内で通常のフィールドと同様に使用することができます。定義されたすべての計算フィールドには、通常のフィールドのように集約を適用することができますが、SQLを使用した計算フィールドだけには、集約を適用することができません。計算フィールドの作成を開始する前に、結果として必要なフィールドのタイプが、どのようなタイプなのかを検討したうえで、メトリック(数値)か、ディメンション(次元)のどちらかから選択してください。
計算を数値として返します。また、小数点以下桁数、接頭辞、接尾辞、デフォルト集約のような、標準的なメトリック(数値)書式オプションを使用することができます。
計算に、ドリルダウン階層を含む、すべての標準的なディメンション(次元)の書式や、機能を使用することができます。
|
|
|
|
|
|
|
|
Case文を使用することで、より複雑な計算を作成することができます。Case文は、ビジネスロジックに基づくカラム(列)に、新しい値を設定することができます。例えば、年齢が20歳未満の場合に、「Young」と表示することができます。
Case文にあまり馴染みのない方は、以下の基本的な構造を参考にしてください。
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が無い場合は、計算が有効になりませんので、必ず追加してください。 |
|
|
|
|
|
|
カスタム関数は、XML形式で記述され、Yellowfinサーバーに格納されている関数です。これらの関数は通常、式ビルダーでは作成することが難しい、高度なSQL文で構成されており、システム管理者により設定されます。
カスタム関数は、独自のインスタンス内で設定することができます。新しいカスタムXML関数をアプリケーションに追加する場合は、システム管理者に連絡をするか、カスタム関数から、より詳細な情報を確認してください。
SQLに関するスキルがあれば、SQL入力欄へ直接SQL文を記述することができます。その場合は、「式のタイプ」で「フリーハンドSQL」を選択すると、SQL入力欄が表示されます。作成したいフィールドに応じた、SQL文を記述してください。
計算式を作成したら、その集計値の合計を定型化して表示することができます。より詳細な情報は、サマリー項目を参照してください。