計算フィールドについて

データの変換、分類、計算を行います。

計算フィールドを使用すると、データをもとに新しい指標やディメンションを作成できます。データソースから流入するデータを拡張および変換して、結果をレポートに表示することが可能です。

この記事の内容:

動画を見る

計算フィールドの仕組み

計算フィールドとは、データソース内の他の 1 つ以上のフィールドに対してなんらかのアクションを実行する数式です。計算フィールドでは、算術演算や数学演算、テキスト、期間、地理情報の操作を行うほか、分岐型ロジックでデータを評価し、さまざまな結果を返すことが可能です。計算フィールドの出力値は、そのフィールドを含むグラフのすべてのデータ行について表示することができます。データがどのように表示されるかは、データの使用方法によって異なります。

たとえば、単価フィールド(Price)を販売数フィールド(Qty Sold)で乗算する計算フィールド「Total」を作成するとします。

計算フィールド(例)

計算フィールドの Total を表で使用すると、各行の乗算の結果が表示されます。

合計料金計算フィールドを示す表の例。

Total フィールドをスコアカードで使用すると、販売数が単価で乗算されるすべての行の積の合計が表示されます。

合計料金計算フィールドを示すスコアカードの例。

データポータルの計算フィールドとグラフ固有の計算フィールドの比較

計算フィールドは、作成場所によって 2 種類に分類できます。データソースの計算フィールドと、レポート内の特定のグラフに固有の計算フィールドです。どちらのタイプにも、もう一方のタイプにはない利点があります。

データソースの計算フィールド

計算フィールドをデータソースに作成した場合:

  • その計算フィールドは、同じデータソースを使用するすべてのレポートで利用可能です。
  • データソースの計算フィールドは、通常のフィールドと同様に、グラフ、管理コンポーネント、他の計算フィールドで利用できます。
  • データソースの計算フィールドには、通常のフィールドと同じようにフィルタを適用可能です。たとえば、合計値が 500 円以上のアイテムのみを含むようにフィルタ プロパティを設定できます。

フィルタでの計算フィールドの使用例。

データポータルの計算フィールドの制約

データソースの計算フィールドには次のような制約があります。

  • データソースの計算フィールドは、統合データと組み合わせることができません。
  • データソースに計算フィールドを作成、編集するには、そのデータソースの編集権限が必要です。

グラフ固有の計算フィールド

計算フィールドをレポート内のグラフに直接追加したものをグラフ固有の計算フィールド(またはグラフ単位の計算フィールド)と呼びます。グラフ固有の計算フィールドでは、データソースの計算フィールドと同様に、計算を行ったり、関数を使用したり、CASE 文に沿って結果を返したりすることができます。

グラフ固有の計算フィールドには、データソースの計算フィールドにはない利点がいくつか存在します。

  • データソースへのアクセス権限がなくても、手軽にフィールドを追加できます。
  • グラフ固有の計算フィールドは、統合データをもとに作成することができます。
  • グラフ固有の計算フィールドの中に、データソースの計算フィールドを含めることも可能です。

グラフ固有の計算フィールドの制約

  • グラフ固有の計算フィールドは、作成先のグラフの中にしか存在しません。作成した計算フィールドが、グラフの基盤となっているデータソースに追加されるわけではありません。
  • 数式内で別のグラフ固有の計算フィールドを参照することはできません(同じグラフ内で定義したフィールドであっても同様です)。他の計算フィールドを参照する必要がある場合は、データソースの計算フィールドを使用してください。
  • グラフ固有の計算フィールドを作成できるのは、そのレポートの編集者だけです。
  • データソースで [レポートのフィールド編集] がオンになっている必要があります。

次の表は、2 種類の計算フィールドの違いをまとめたものです。

機能 データソースの計算フィールド グラフ固有の計算フィールド
作成できるユーザー データソースの編集者 レポートの編集者
統合データを扱うことができる ×
他の計算フィールドを組み込むことができる ×
フィールドを使用できる場所 そのデータソースを使用するすべてのレポート 作成先のグラフのみ

データ型

通常のフィールドと同様に、計算フィールドにもそれぞれ特定のデータ型があります。たとえば、計算フィールドで算術関数か集計関数を使用する場合、計算フィールドのデータ型は数値になります。計算フィールドでテキスト関数を使用する場合、データ型はテキストになります。

日付型を返す TODATE 関数を除き、ほとんどの日付関数は数値を返します。

計算フィールドのデータタイプは、データソース エディタの [タイプ] プルダウン メニューを使って変更できます。

集計フィールドと計算フィールド

集計は、フィールドのデータを要約する方法です。未集計の行単位の値、または集計された値を処理する計算フィールドを作成できます。

たとえば、「価格」と「販売数」という 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(パイプ文字で区切られた値, '^([a-zA-Z_]*)(\\|)') -- パイプ文字で区切られた文字列の最初の値を抽出します。

二重バックスラッシュを使用して、パイプ文字(|)がエスケープされている点に注意してください。

DATE_DIFF(開始日, 終了日) -- 開始日から終了日までの日数を計算します。

TODATE(concat(年, '-', 月, '-', 日), "DEFAULT_DASH", "%Y%m%d") -- 年月日の各部のデータを含むフィールドを結合して、日付を作成します。

TOCITY(条件 ID, "CRITERIA_ID") -- Google 広告の有効な地域ターゲティング条件 ID に基づき、関連付けられている都市名を表示します。

関数の使用方法の詳細

計算フィールドで分岐ロジックを使用する

CASE 文を使用すると、計算フィールドで「if/then/else」スタイルの分岐ロジックを実行できます。たとえば、次の CASE 式は、指定された国を地域に分類し、不特定の国を「その他」のカテゴリに分類します。

CASE 
    WHENIN ("アメリカ","カナダ","メキシコ") THEN "北アメリカ" 
    WHENIN ("イギリス","フランス") THEN "ヨーロッパ" 
    ELSE "その他" 
END

CASE について詳細をご覧ください

 

この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。