計算フィールドを使用すると、データを基に新しい指標やディメンションを作成できます。データソースから流入するデータを拡張・変換して、結果をレポートに表示することも可能です。
この記事の内容:動画を見る
計算フィールドの仕組み
計算フィールドとは、データソース内の他の 1 つ以上のフィールドに対してなんらかのアクションを実行する数式です。計算フィールドでは、算術演算や数学演算、テキスト、期間、地理情報の操作を行うほか、分岐型ロジックでデータを評価し、さまざまな結果を返すことが可能です。また、カスタム グループ計算フィールドを使ってカスタム グループを作成したり、カスタムビン計算フィールドを使ってカスタムビンを作成したりすることもできます。計算フィールドの出力値は、そのフィールドを含むグラフのすべてのデータ行に表示することができます。データがどのように表示されるかは、データの使用方法によって異なります。
たとえば、単価フィールド(Price)を販売数フィールド(Qty Sold)で乗算する計算フィールド「Total」を作成するとします。
計算フィールドの Total を表で使用すると、各行の乗算の結果が表示されます。
「合計」フィールドをスコアカードで使用すると、販売数が単価で乗算されるすべての行の積の合計が表示されます。
データソースの計算フィールドとグラフ固有の計算フィールドの比較
計算フィールドは、作成場所によって 2 種類に分類できます。データソースの計算フィールドと、レポート内の特定のグラフに固有の計算フィールドです。どちらのタイプにも、もう一方のタイプにはない利点があります。
データソースの計算フィールド
データソースで計算フィールドを作成すると、次のことが可能になります。
- その計算フィールドは、同じデータソースを使用するすべてのレポートで利用可能です。
- データソースの計算フィールドは、通常のフィールドと同様に、グラフ、管理コンポーネント、他の計算フィールドで利用できます。
- データソースの計算フィールドには、通常のフィールドと同じようにフィルタを適用可能です。たとえば、合計値が 500 円以上のアイテムのみを含むようにフィルタ プロパティを設定できます。
データソースの計算フィールドの制約
データソースの計算フィールドには次のような制約があります。
- データソースの計算フィールドは、統合データと組み合わせることができません。
- データソースに計算フィールドを作成、編集するには、そのデータソースの編集権限が必要です。
- データソースの計算フィールドの作成時または編集時には、カスタム値形式を適用することはできません。データソースの計算フィールドへのカスタム値形式の適用は、グラフのプロパティ パネルの [設定] タブで行います。
グラフ固有の計算フィールド
計算フィールドをレポート内のグラフに直接追加したものをグラフ固有の計算フィールド(またはグラフ単位の計算フィールド)と呼びます。グラフ固有の計算フィールドでは、データソースの計算フィールドと同様に、計算を行ったり、関数を使用したり、CASE 文に沿って結果を返したりすることができます。
グラフ固有の計算フィールドには、データソースの計算フィールドにはない次のような利点があります。
- データソースへのアクセス権限がなくても、手軽にフィールドを追加できます。
- グラフ固有の計算フィールドは、統合データを基に作成することができます。
- グラフ固有の計算フィールドの中に、データソースの計算フィールドを含めることも可能です。
- グラフ固有の計算フィールドの作成中に、カスタム値形式を適用できます。
グラフ固有の計算フィールドの制約
- グラフ固有の計算フィールドは、作成先のグラフの中にしか存在しません。作成した計算フィールドが、グラフの基盤となっているデータソースに追加されるわけではありません。
- 数式内で別のグラフ固有の計算フィールドを参照することはできません(同じグラフ内で定義したフィールドであっても同様です)。他の計算フィールドを参照する必要がある場合は、データソースの計算フィールドを使用してください。
- グラフ固有の計算フィールドを作成できるのは、そのレポートの編集者だけです。
- データソースで [レポートのフィールド編集] がオンになっている必要があります。
次の表は、2 種類の計算フィールドの違いをまとめたものです。
機能 | データソースの計算フィールド | グラフ固有の計算フィールド |
---|---|---|
作成できるユーザー | データソースの編集者 | レポートの編集者 |
統合データを扱うことができる | × | ○ |
他の計算フィールドを組み込むことができる | ○ | × |
フィールドを使用できる場所 | そのデータソースを使用するすべてのレポート | 作成先のグラフのみ |
データ型
計算フィールドのデータ型は、数式に含まれる関数によって異なります。
SUM
、COUNT
、MAX
などの算術関数または集計関数を使用する数式では、数式型のフィールドが作成されます。CONCAT
、SUBSTR
、LOWER
などのテキスト関数を使用する数式では、テキスト型フィールドが作成されます。- 「日付と時刻」関数を使用する数式では、使用した関数に応じて、数値型または日付と時刻型のフィールドが作成されます。
計算フィールドのデータ型は、データソース エディタの [タイプ] プルダウン メニューを使って変更できます。
詳細: データ型
集計フィールドと計算フィールド
集計は、フィールドのデータを要約する方法です。未集計の行単位の値、または集計された値を処理する計算フィールドを作成できます。
たとえば、「価格」と「販売数」という 2 つの未集計の数値ディメンションがあり、次のデータがあるとします。
注文日 | 商品 | 販売数 | 価格 |
10/2/2019 | Pretty Bird Bird Seed |
7 |
780 |
10/3/2019 | Pretty Bird Bird Seed |
5 |
780 |
10/8/2019 | Pretty Bird Bird Seed |
3 |
780 |
10/13/2019 | Pretty Bird Bird Seed |
5 |
780 |
これらの注文の合計金額を計算するには、「価格」と「販売数」を掛け合わせます。
価格 * 販売数
データソースでこのフィールドを作成すると、結果は集計されていない数値ディメンションになります。このフィールドをグラフで使用すると、デフォルトの集計である SUM(合計)が使用され、データの各行の合計が計算されます。
集計計算指標を作成するには、数式を構成する数値フィールドの集計関数を指定します。たとえば、総利益率をスコアカードに表示するとします。その場合は次のような数式を使用します。
SUM(利益) / SUM(収益)
集計方法を明示的に指定すると、フィールドのデフォルトの集計は Auto
に設定されます。こうすることで、数式が意図したとおりに集計され、誰かがデフォルトの集計を変更した場合に計算フィールドが機能しないという事態を防ぐことができます。
計算フィールドでできること
計算フィールドを使用すると、次のことを行えます。
数値フィールドを使って基本的な計算を行う
次のような通常の演算子を使って簡単な計算を行うことができます。
- 加算: +
- 減算: -
- 除算: /
- 乗算: *
上記のいずれかの演算子とデータソースから取得した静的な数値や非集計値のフィールドを組み合わせて、計算フィールドを作成できます。計算順序を指定するには、かっこを使用します。
例
ユーザー / 新規ユーザー
(SUM(価格) * SUM(数量)) * 0.085
詳細: 演算子
関数を使ってデータを操作する
関数を使用すると、データの集計方法を指定したり、数学演算や統計的演算を適用したり、テキストを操作したり、期間や地理情報を処理することができます。
例
SUM(数量)
- 「数量」フィールドの値を合計します。
PERCENTILE(1 日のユーザー数, 50)
-- 「1 日のユーザー数」フィールドのすべての値のうち、50 パーセンタイルの値を返します。
ROUND(ユーザーあたりの収益, 0)
-- 「ユーザーあたりの収益」フィールドの値を小数点第 0 位で切り上げます。
SUBSTR(キャンペーン, 1, 5)
-- 「キャンペーン」フィールドの最初の 5 文字を返します。
REGEXP_EXTRACT(パイプ文字で区切られた値, R'^([a-zA-Z_]*)(\|)')
-- パイプ文字で区切られた文字列の最初の値を抽出します。
DATETIME_DIFF(開始日, 終了日)
-- 開始日から終了日までの日数を計算します。
PARSE_DATETIME("%d/%m/%Y %H:%M:%S", DateTimeText)
- テキスト フィールドから日付を作成します。
TOCITY(条件 ID, "CRITERIA_ID")
-- Google 広告の有効な地域ターゲティング条件 ID に基づき、関連付けられている都市名を表示します。
詳細: 関数の使用方法
分岐ロジックを使用する
CASE 文を使用すると、計算フィールドで「if/then/else」スタイルの分岐ロジックを実行できます。たとえば、次の CASE 式は、指定された国を地域に分類し、指定されていない国を「その他」のカテゴリに分類します。
CASE
WHEN 国 IN ("アメリカ","カナダ","メキシコ") THEN "北アメリカ"
WHEN 国 IN ("イギリス","フランス") THEN "ヨーロッパ"
ELSE "その他"
END
詳細: CASE
カスタム グループを作成する
カスタム グループを使用すると、計算フィールドまたは SQL で CASE
ロジックを開発したりコーディングしたりせずに、ディメンションのアドホックなカスタム グループを作成できます。これは、特定の条件に一致する値に固定ラベルかカテゴリ名を割り当てる場合に便利です。
たとえば、フライトの目的地を表す [DestState] ディメンションでグループ化された [記録数] 指標が表示される「FAA の目的地別のフライト数」という表グラフがあるとします。
個々の州ではなく地域ごとにデータを表示して比較したい場合、データソースには「地域」ディメンションがないため、カスタム グループを作成して、特定の州または国を地域ごとにグループ化できます。
以下のように指定して、カスタム グループ計算フィールドをグラフに追加します。
- [グループ化するフィールドを選択] フィールドで、[DestState] を選択します。
- [新しいフィールド名] フィールドに、新しいグループ フィールドの名前を入力します。ここでは、「フライトの目的地の地域」と入力しています。
- 太平洋岸北西部の州のグループを表すため、[グループ名] に「太平洋岸北西部」と入力します。
- [追加または除外] プルダウン メニューで、[含む] を選択します。
-
太平洋岸北西部グループの特定の値を指定するため、[条件] プルダウン メニューで [
次に含まれる
] 関数を選択します。 -
[グループの値] に、州の略称(OR、WY、ID、MT、WA)を挿入します。
-
太平洋岸北西部の地域と米国内のその他の地域を比較するため、[残りの値を新しいグループとしてグループ化する] チェックボックスをオンにします。
-
[残りの値を含むグループの名前] に「米国のその他の地域」というラベルを入力します。これにより、太平洋岸北西部のグループに含まれない残りの州はすべて、1 つのラベルの下にグループ化されます。
-
[保存] をクリックします。
結果として、テーブルには、新しい「フライトの目的地の地域」のディメンション グループである「太平洋岸北西部」と「米国のその他の地域」ごとにグループ化された「記録数」指標が表示されます。
これによりユーザーは、目的地が太平洋岸北西部地域にあるフライト数(4,430,314 便)と米国の他の地域のフライト数(112,334,509 便)を簡単に比較できます。
詳細: カスタム グループ
カスタムビンを作成する
カスタムビンを使用すると、計算フィールドまたは SQL で CASE
ロジックを開発したりコーディングしたりせずに、数値タイプのディメンションのアドホックビン(数値型の階層)を作成できます。ビンを使用した計算フィールドは、データの粒度を調整するために、値を特定の整数範囲に素早くグループ化するときに便利です。
たとえば、「年別の映画公開本数」 という表グラフがあるとします。このグラフでは、[記録数] 指標が、映画が公開された年を表す [year_film] ディメンションでグループ化されています。
個々の年ではなく 10 年ごとにデータを表示して比較したい場合、データソースには「10 年」ディメンションがないため、カスタムビンを作成して、年を 10 年ごとにグループ化します。
以下のように指定して、カスタムビン計算フィールドをグラフに追加します。
- [新しいフィールド名] に、新しいグループ フィールドの名前「10 年」を入力します。
- [ビンの作成に使用するフィールドを選択] で、[year_film] フィールドを選択します。
- [ビンフィールドの形式] で、[区間「[x, y)」] 形式を選択します。
- [ビンのタイプ] で、[均等サイズ] を選択します。
- [ビンのサイズ] に、10 年を示す「10」を入力します。
- [ビンの最小値] に「1920」と入力してビンの開始年を設定し、この年から 10 年を最も古い 10 年間とします。
- [ビンの最大値] に「2020」と入力してビンの終了年を設定し、この年から 10 年を最も新しい 10 年間とします。
-
余分なデータポイントをすべて 1 つにまとめるには、[範囲外の残りの値に対して別のビンを作成する] チェックボックスをオンにします。
-
[保存] をクリックします。
結果として、「記録数」指標は、新たに設定した「10 年」ビンフィールドでグループ化され、10 年ごとの映画公開本数が表示されます。
関連資料