30日間の無料評価版をお試しいただけます。

概要

Yellowfinのビュービルダーでは、データベースから読み取ったデータを使って計算を行う、計算フィールドを作成することができます。これらの計算には、単純な四則演算だけでなく、複雑なSQL文を含めることもできます。


以下のように、様々なタイプの計算フィールドを作成することができます。

タイプ説明

計算フィールド#シンプル計算式

SQL文を記述することなく、ビュービルダーの画面から計算フィールドを作成することができます。

計算フィールド#定義済みテンプレートを使用して計算を作成することができます。ビルダーを使用する必要はなく、必要なフィールドを指定するだけで、計算フィールドを作成することができます。

計算フィールド#フリーハンドSQL

ビュービルダーを使用するのではなく、SQL文を記述することで、計算フィールドを作成することができます。

シンプル計算式

シンプル式ビルダーは、ビューに有効な計算フィールドの作成を支援します。作成された計算フィールドは、レポート内で通常のフィールドと同様に使用することができます。定義されたすべての計算フィールドには、通常のフィールドのように集約を適用することができますが、SQLを使用した計算フィールドだけには、集約を適用することができません。計算フィールドの作成を開始する前に、結果として必要なフィールドのタイプが、どのようなタイプなのかを検討したうえで、メトリック(数値)か、ディメンション(次元)のどちらかから選択してください。 

メトリック(数値)

計算を数値として返します。また、小数点以下桁数、接頭辞、接尾辞、デフォルト集約のような、標準的なメトリック(数値)書式オプションを使用することができます。

ディメンション(次元)

計算に、ドリルダウン階層を含む、すべての標準的なディメンション(次元)の書式や、機能を使用することができます。

計算の作成

1.「作成」ボタンをクリックして、「計算フィールド」オプションを選択します。

2. レポートビルダーに表示される、「計算フィールド名」を入力します。

3. 作成した計算フィールドを配置する「フィールドフォルダー」を選択します。

4.「式のタイプ」で「シンプル」を選択します。

5. ウィンドウ下部にあるボタンを使用して、計算式を定義します。例:

    • フィールドを選択」ドロップダウンリストで、「Invoiced Amount」フィールドを検索し、クリックをして、追加します。
    • マイナス(-)」ボタンをクリックします。
    • Cost of Camp」フィールドを検索し、計算式に追加します。
    • ウィンドウ内に、「Invoiced Amount - Cost of Camp」という計算式が表示されます。

6.「テスト」ボタンをクリックして、作成した計算式の有効性を確認します。

計算式が有効である旨のメッセージが表示されます。設定に問題があれば、関連するエラーメッセージが表示されます。

7.「保存」ボタンをクリックして、計算式を保存します。

Case文

Case文を使用することで、より複雑な計算を作成することができます。Case文は、ビジネスロジックに基づくカラム(列)に、新しい値を設定することができます。例えば、年齢が20歳未満の場合に、「Young」と表示することができます。

Case文の構造

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は、条件を定義するために使用します。例えば、

WHEN AthleteAge < 21

これは、AthleteAgeの値が、21未満の行すべてを特定します。WHEN要素は、常にTHENとともに使用することで、条件に適合した時に、何を返せばよいのかを設定することができます。

THEN

これは、WHEN要素とともに使用し、条件に適合した場合、何を返せばよいのかを示します。例えば、

WHEN AthelteAge < 21 THEN 'Young'

これはつまり、AthleteAgeフィールドが21未満の場合は、「Young」と表示することを意味します。

ELSE

これは、いずれのWHEN条件に適合するものが何もない場合に、何を返せばよいのかを設定することができるオプション的な要素です。これは基本的に、追加のTHENコンポーネントのように作用します。

END

計算は、常にEND要素で終了する必要があります。これにより、Yellowfinに計算の終了を伝えることができます。ENDが無い場合は、計算が有効になりませんので、必ず追加してください。

Case文の作成

1. Case文を作成するためには、シンプル計算式ビルダー(上述)で「Case」ボタンをクリックします。

2. 「When」ボタンをクリックすると、ポップアップが開くので、Whenの条件とThenの指示を作成します。


注意: シンプル計算式ビルダーと同様に、使用可能なボタンだけクリックすることができます。

3. 「保存」をクリックして、条件や指示の設定を完了します。 

4. 必要な条件すべてを追加するまで、Whenの条件作成を続けます。

5. 必要に応じて、Else条件を追加してください。これは必須ではありませんが、追加することを推奨します。

6. End要素を追加します。

7. 作成した計算式を「テスト」し、これを「保存」します。

定義済み




カスタム関数は、XML形式で記述され、Yellowfinサーバーに格納されている関数です。これらの関数は通常、式ビルダーでは作成することが難しい、高度なSQL文で構成されており、システム管理者により設定されます。


  1. 機能」から使用したい式テンプレートを選択し、「結果のフィールドタイプ」を指定します。
  2. XMLファイルで定義される関数は、いくつかのパラメーター(または、引数)入力が必要です。パラメーターは、そのデータタイプに合致するカラム(列)一覧から選択することができます。
  3. 各引数をクリックして、値を設定します。設定する値は定数、またはフィールドを参照することができます。
  4. すべての引数に値を設定したら、「保存」ボタンをクリックして、保存します。

新規カスタム関数作成

カスタム関数は、独自のインスタンス内で設定することができます。新しいカスタムXML関数をアプリケーションに追加する場合は、システム管理者に連絡をするか、カスタム関数から、より詳細な情報を確認してください。

フリーハンドSQL




SQLに関するスキルがあれば、SQL入力欄へ直接SQL文を記述することができます。その場合は、「式のタイプ」で「フリーハンドSQL」を選択すると、SQL入力欄が表示されます。作成したいフィールドに応じた、SQL文を記述してください。


    • ここで記述することができるのは、「SELECT命令文」のみであり、SELECTキーワードやFROM句、WHERE句を含めることはできません。
    • 参照するカラム(列)は、すべてビュー内に存在している必要があり、集約関数(平均、最大、最小、合計、個数)を使用することはできません。


YellowfinがフリーハンドFQLに対するセキュリティをどのように処理するかを設定することができます。より詳細な情報は、利用可能なセキュリティ機能を参照してください。




計算式合計

計算式を作成したら、その集計値の合計を定型化して表示することができます。より詳細な情報は、サマリー項目を参照してください。