Looker StudioのCONCAT・CONTAINS_TEXT関数の使い方と実践例

Looker StudioのCONCAT、CONTAINS_TEXT関数を使いこなしたいけれど、どのように活用すればいいのか悩んでいませんか?データの結合や検索、フィルタリングなど、効果的なレポート作成には関数の理解が不可欠です。本記事では、特に重要なCONCAT関数とCONTAINS_TEXT関数に焦点を当て、初心者でも理解できるよう基礎から実践的な活用方法まで詳しく解説します。これらの関数を使いこなすことで、より魅力的で効果的なデータ分析レポートを作成できるようになります。ぜひ最後までお読みいただき、Looker Studioでのデータ分析スキルを向上させましょう。

【初心者向け】Looker Studio関数とは?基礎知識を解説

Looker Studioで使える関数の概要

Looker Studioの関数は、データの加工や分析を効率的に行うための強力なツールです。基本的な計算から高度なデータ操作まで、様々な用途に対応する関数が用意されています。主な関数カテゴリーには、集計関数(SUM、AVERAGEなど)、テキスト関数(CONCAT、CONTAINS_TEXTなど)、日付関数(DATE、FORMATDATEなど)があり、これらを組み合わせることで複雑なデータ分析も可能になります。

関数を使うことで、予めlooker studio側で決まった処理をしてくれるようになります。関数自体はプログラミングではよく出てくるキーワードになりますが、難しいものではなく、便利に処理を行なってくれるものとイメージしていただくのが良いです。

関数を使用するメリット

関数を活用することで、以下のような大きなメリットが得られます。

  1. データ処理の自動化
    • 手作業での計算や集計が不要になります
    • 定期的なレポート更新が効率化されます
    • ヒューマンエラーのリスクが低減します
  1. 高度なデータ分析
    • 複雑な条件での集計が可能になります
    • カスタマイズされた指標の作成ができます
    • リアルタイムでのデータ更新に対応できます
  1. レポートの品質向上
    • 一貫性のある計算方法が確保されます
    • データの可視化が改善されます
    • より詳細な分析が可能になります

計算フィールドの基本的な作成方法

計算フィールドの作成は以下の手順で行います。

フィールドの追加

1. 「フィールドを追加」ボタンをクリック
2. 「計算フィールドを作成」を選択
3. フィールド名を入力

関数の入力

- 基本的な数式:SUM(revenue)
- 条件付き計算:IF(revenue > 1000, "High", "Low")
- 複数関数の組み合わせ:CONCAT(city, " - ", ROUND(revenue))

この際、以下の点に注意が必要です

  • フィールド名は分かりやすい名称にする
  • 適切なデータ型を選択する
  • エラーメッセージが表示された場合は構文を確認する

関数を効果的に活用することで、データ分析の精度と効率が大きく向上します。初めは基本的な関数から始めて、徐々に複雑な関数の使用に挑戦していくことをお勧めします。

レポートを作成するには、関数を知っているだけでレポート自体のパフォーマンスも改善することができます。レポートを長く運用することで、カスタマイズを繰り返すことが多々あるため、命名規則などのルールを標準化させると運用しやす区なります。

CONCATの基礎:文字列結合の必須関数を完全マスター

CONCAT関数の基本構文と動作原理

CONCAT関数は、複数の文字列やフィールドを1つの文字列に結合するための基本的な関数です。
この関数の基本構文は以下の通りです

CONCAT(値1, 値2 [, 値3, ...])

主な特徴

  • 2つ以上の値を結合できます
  • 文字列、数値、日付など異なるデータ型を結合可能です
  • 自動的にデータ型を文字列に変換します

実際に使用例をみるとわかりやすいかと思いますので、使用例も下記に記載します。

使用例

CONCAT("売上:", Revenue, "円")  // 「売上:10000円」のように表示
CONCAT(姓, " ", 名)  // 「山田 太郎」のように表示

文字列を結合することができるため、例えばGA4のレポートではドメイン名+ランディングページを結合して1つのURLにすることなどが可能になります。

パラメータの種類と注意点

CONCAT関数で使用できるパラメータには以下のような種類とルールがあります。
これを守って使用する必要があります。ルールを守ってないとレポート自体がエラーになったり、データが表示されないなどが発生しますので、ご注意ください。

  1. 文字列リテラル
    • 直接入力する文字列(”テキスト”のように引用符で囲む)
    • スペースや特殊文字も使用可能
  1. フィールド参照
    • データソースの既存フィールド
    • 他の計算フィールド
  1. 数値
    • 自動的に文字列に変換されます
    • 小数点以下の桁数は元の形式を維持

注意点

  • NULLの扱い:NULLのフィールドがある場合、結果全体がNULLになるため、IFNULL関数との組み合わせを検討
  • スペースの管理:必要に応じて明示的にスペースを追加
  • データ型の一貫性:日付や数値の場合は適切なフォーマット関数と組み合わせる

よくあるエラーと対処法

CONCAT関数使用時によく発生するエラーとその解決方法をまとめました。
一番多く発生するのが、データ型の不適合になります。結合したい2つのデータの形式が一致してない場合は、結合することができません。そのため一度データの型自体を変換した後に、CONCAT関数で結合する必要があります。

NULLによるエラー

問題:CONCAT(名前, 部署)  // 部署がNULLの場合、結果もNULL
解決:CONCAT(名前, IFNULL(部署, "部署未設定"))

データ型の不適合

問題:CONCAT(日付, " の売上")  // 日付形式が適切でない
解決:CONCAT(FORMAT_DATE("%Y/%m/%d", 日付), " の売上")

文字化けや特殊文字の問題

問題:全角・半角の混在による見た目の不統一
解決:一貫した文字種の使用とスペースの適切な挿入

トラブルシューティングのポイント

  • エラーメッセージを注意深く読む
  • テスト用の単純なケースで動作確認
  • データ型の変換が必要か確認
  • NULLの処理方法を適切に設定

CONCAT関数は、適切に使用することでレポートの可読性と情報の明確さを大きく向上させることができます。基本的な使い方を押さえた上で、実際のデータに応じて適切な活用方法を選択していくことが重要です。

CONCAT関数の実践的な活用例5選

氏名フィールドの作成方法

氏名の統合表示は、CONCAT関数の最も基本的かつ実用的な活用例です。
データベースでは姓と名を別々のフィールドで管理することが一般的ですが、レポートでは完全な氏名として表示したいケースが多くあります。
GA4のデータはあまり結合することはないですが、スプレッドシートやエクセルのデータをデータソースとして使用しているケースでは使うことがあります。

// 基本的な氏名結合
CONCAT(姓, " ", 名)

// 敬称付きの氏名結合
CONCAT(姓, " ", 名, " ", "様")

// 役職付きの氏名結合
CONCAT(部署, " ", 役職, " ", 姓, " ", 名)

実装時の注意点

  • スペースの適切な配置
  • 敬称や役職の一貫性確保
  • 国際対応(氏名の順序が異なる場合の考慮)

URLの動的生成テクニック

Webアナリティクスでは、完全なURLを動的に生成する必要があることが多々あります。CONCAT関数を使用することで、URLの各要素を効果的に結合できます。

GA4で最もよくあるパターンになります。ランディングページやページのURLを全て知りたい場合などには必ず使用します。
別の関数になりますが、合わせてHYPERLINKを使用してLooker studioのレポートからリンクとして、推移できるようにすることが多いです。

// 基本的なURL生成
CONCAT("https://", ドメイン, パス)

// パラメータ付きURL生成
CONCAT("https://", ドメイン, パス, "?utm_source=", ソース)

// 複雑なURLパラメータの結合
CONCAT(
    "https://",
    ドメイン,
    "/",
    カテゴリー,
    "/",
    商品ID,
    "?ref=",
    リファラー
)

複数フィールドを組み合わせたレポート作成術

データの文脈を理解しやすくするため、複数のフィールドを意味のある形で結合することができます。

// 取引情報の統合
CONCAT(
    "取引ID: ",
    取引ID,
    " (",
    取引日時,
    ") - ",
    金額,
    "円"
)

// ユーザーアクション情報
CONCAT(
    ユーザー名,
    "が",
    アクション,
    "を",
    実行日時,
    "に実施"
)

データの可読性を高めるテクニック

数値や日付を含むデータを人間が読みやすい形式に整形する例です。

// 金額のフォーマット
CONCAT(
    FORMAT_NUMBER(売上金額, "###,###"),
    "円"
)

// 日時の表示形式カスタマイズ
CONCAT(
    FORMAT_DATETIME(実行日時, "yyyy年MM月dd日"),
    " ",
    FORMAT_DATETIME(実行日時, "HH:mm")
)

条件付き結合の実装方法

IF関数とCONCATを組み合わせることで、条件に応じて異なる文字列を生成できます。

// ステータスに応じたメッセージ生成
CONCAT(
    "状態: ",
    IF(
        status = "active",
        "アクティブ",
        IF(
            status = "pending",
            "保留中",
            "無効"
        )
    )
)

// 売上目標の達成状況
CONCAT(
    "達成率: ",
    FORMAT_NUMBER(達成率, "#.#"),
    "%",
    IF(
        達成率 >= 100,
        " (目標達成!)",
        " (目標未達)"
    )
)

実装のポイント

  • データの一貫性を確保する
  • NULL値の適切な処理
  • 適切なエラーハンドリング
  • パフォーマンスへの配慮

これらの活用例は、基本的なものから応用的なものまでカバーしています。実際の使用時は、自身のデータ構造やレポーティングニーズに合わせて適切にカスタマイズすることが重要です。

CONTAINS_TEXTマスターガイド:テキスト検索の極意

CONTAINS_TEXT関数の基本と特徴

CONTAINS_TEXT関数は、指定したテキストフィールド内に特定の文字列が含まれているかどうかを判定する関数です。
この関数は検索やフィルタリングに非常に効果的です。

特定の文字列があるどうかを検索する場合は、グループ分けを行ったり指定の文字列のみ計算したいなどの場合に使用します。
GA4のレポートではディレクトリ単位の抽出を行ったりする際によく使用します。

基本構文

CONTAINS_TEXT(検索対象フィールド, "検索文字列")

主な特徴

  1. 戻り値はブール値(TRUE/FALSE)
  2. 大文字・小文字を区別
  3. 部分一致での検索が可能
  4. 複数の条件と組み合わせ可能

使用例

// 基本的な使用方法
CONTAINS_TEXT(ページURL, "product")

// 複数条件の組み合わせ
AND(
    CONTAINS_TEXT(ページURL, "product"),
    CONTAINS_TEXT(ページURL, "sale")
)

大文字・小文字の区別について

CONTAINS_TEXT関数は大文字・小文字を区別する性質があり、これは検索の精度に大きく影響します。
大文字・小文字を区別するため、対象の文字列がどちらになっているか確認した上で関数を記述してください。

検索精度を向上させるテクニック

// 大文字小文字を区別しない検索
CONTAINS_TEXT(
    LOWER(検索対象フィールド),
    LOWER("検索文字列")
)

// 複数のパターンを考慮
OR(
    CONTAINS_TEXT(URL, "Product"),
    CONTAINS_TEXT(URL, "product"),
    CONTAINS_TEXT(URL, "PRODUCT")
)

注意点

  • 意図しない検索漏れを防ぐため、大文字小文字の統一を検討
  • パフォーマンスへの影響を考慮
  • データの前処理での標準化の検討

戻り値の理解とフィルター活用法

CONTAINS_TEXT関数の戻り値を効果的に活用することで、高度なフィルタリングが可能になります。

基本的なフィルター設定

// 特定のページのみを抽出
IF(
    CONTAINS_TEXT(ページパス, "blog"),
    "ブログページ",
    "その他ページ"
)

// 複数条件での分類
CASE
    WHEN CONTAINS_TEXT(URL, "product") THEN "商品ページ"
    WHEN CONTAINS_TEXT(URL, "category") THEN "カテゴリページ"
    WHEN CONTAINS_TEXT(URL, "cart") THEN "カートページ"
    ELSE "その他"
END

フィルター活用のベストプラクティス

段階的なフィルタリング

// 複数の条件を段階的に適用
AND(
    CONTAINS_TEXT(URL, "product"),
    NOT(CONTAINS_TEXT(URL, "category")),
    CONTAINS_TEXT(URL, "active")
)

動的なセグメント作成

// ユーザーセグメントの作成
CASE
    WHEN CONTAINS_TEXT(ユーザー属性, "premium") THEN "プレミアム会員"
    WHEN CONTAINS_TEXT(ユーザー属性, "regular") THEN "一般会員"
    ELSE "非会員"
END

エラー処理の組み込み

// NULL値の考慮
IF(
    ISBLANK(検索対象フィールド),
    "データなし",
    IF(
        CONTAINS_TEXT(検索対象フィールド, "検索文字列"),
        "該当あり",
        "該当なし"
    )
)

実装時の重要なポイント

  • 検索パターンの網羅性確認
  • パフォーマンスの最適化
  • エラーケースの適切な処理
  • データの品質確保

CONTAINS_TEXT関数を使いこなすことで、データの分類や分析の精度が大きく向上します。特に大規模なデータセットを扱う場合、効率的なフィルタリングは非常に重要です。

CONTAINS_TEXTの実践的な使用例と応用テクニック

キャンペーン分析での活用方法

CONTAINS_TEXT関数を使用することで、キャンペーンデータの効果的な分析が可能になります。特にマーケティング施策の効果測定において重要な役割を果たします。

// キャンペーンタイプの分類
CASE
    WHEN CONTAINS_TEXT(キャンペーン名, "season_sale") THEN "シーズンセール"
    WHEN CONTAINS_TEXT(キャンペーン名, "flash_sale") THEN "タイムセール"
    WHEN CONTAINS_TEXT(キャンペーン名, "clearance") THEN "在庫処分"
    ELSE "その他キャンペーン"
END

分析のポイント

  • キャンペーン名の一貫性確認
  • 命名規則の標準化
  • 複数条件の組み合わせによる詳細分析

URLパラメータの抽出テクニック

URLに含まれるパラメータを効果的に分析することで、トラフィックソースやユーザー行動の理解が深まります。

// UTMパラメータの分析
AND(
    CONTAINS_TEXT(ページURL, "utm_source"),
    CONTAINS_TEXT(ページURL, "utm_medium")
)

// 特定のパラメータ値の検出
IF(
    CONTAINS_TEXT(ページURL, "ref=newsletter"),
    "ニュースレター経由",
    "その他ソース"
)

キャンペーンごとにURLに対してパラメータを付与して、各メディアに展開している場合はURLごとの分析は必須になります。

実装時の注意点

  1. パラメータの完全性チェック
  2. エンコードされたURLの考慮
  3. 大文字小文字の統一

高度なフィルタリング設定の方法

他の関数と組み合わせて使用することでより高度な分析ができます。高度な分析を行うには少しプログラミングの概念も必要になります。ここではサンプルも合わせて紹介しますので、自社で分析したいものに合わせて改変して使えるようにしております。

複雑な条件を組み合わせることで、より精密なデータフィルタリングが可能になります。

// 複合条件によるフィルタリング
AND(
    OR(
        CONTAINS_TEXT(ページパス, "/products/"),
        CONTAINS_TEXT(ページパス, "/categories/")
    ),
    NOT(CONTAINS_TEXT(ページパス, "test")),
    NOT(CONTAINS_TEXT(ページパス, "dev"))
)

// ユーザーセグメント別の分析
CASE
    WHEN AND(
        CONTAINS_TEXT(ユーザー属性, "premium"),
        CONTAINS_TEXT(アクセス履歴, "purchase")
    ) THEN "プレミアム購入者"
    WHEN CONTAINS_TEXT(ユーザー属性, "premium") THEN "プレミアム非購入者"
    ELSE "一般ユーザー"
END

他の関数との組み合わせ術

CONTAINS_TEXTを他の関数と組み合わせることで、より高度な分析が可能になります。

// REGEXP_CONTAINSとの組み合わせ
OR(
    CONTAINS_TEXT(URL, "product"),
    REGEXP_CONTAINS(URL, "item[0-9]+")
)

// COUNT関数との組み合わせ
SUM(
    CASE
        WHEN CONTAINS_TEXT(ページパス, "checkout") THEN 1
        ELSE 0
    END
)

実践的な活用例

コンバージョン分析

// 購入完了ページの特定
IF(
    AND(
        CONTAINS_TEXT(ページパス, "checkout"),
        CONTAINS_TEXT(ページパス, "complete")
    ),
    "購入完了",
    "その他ページ"
)

エラーページの検出

// エラーページの分類
CASE
    WHEN CONTAINS_TEXT(ページタイトル, "404") THEN "Not Found"
    WHEN CONTAINS_TEXT(ページタイトル, "500") THEN "Server Error"
    WHEN CONTAINS_TEXT(ページタイトル, "Error") THEN "その他エラー"
    ELSE "正常ページ"
END

ユーザー行動分析

// 特定のアクションの追跡
IF(
    OR(
        CONTAINS_TEXT(イベント名, "click"),
        CONTAINS_TEXT(イベント名, "scroll"),
        CONTAINS_TEXT(イベント名, "hover")
    ),
    "インタラクション発生",
    "インタラクションなし"
)

これらの技術を組み合わせることで、より精密で効果的なデータ分析が可能になります。

CONCAT・CONTAINS_TEXTのよくあるトラブルと解決方法

一般的なエラーメッセージの意味

Looker Studioで関数を使用する際によく遭遇するエラーとその解決方法をご紹介します。

NULL値関連のエラー

// エラーケース
CONCAT(名前, 部署)  // 部署がNULLの場合、全体がNULLに

// 解決策
CONCAT(
    IFNULL(名前, ""),
    " ",
    IFNULL(部署, "未設定")
)

データ型の不一致

// エラーケース
CONCAT(売上金額, "円")  // 数値型と文字列型の直接結合

// 解決策
CONCAT(
    FORMAT_NUMBER(売上金額, "#,###"),
    "円"
)

構文エラー

// エラーケース
CONTAINS_TEXT(URL "keyword")  // カンマの欠落

// 解決策
CONTAINS_TEXT(URL, "keyword")

まとめ:Looker StudioのCONCAT・CONTAINS_TEXT関数活用のベストプラクティス

関数選択のガイドライン

Looker Studioでの関数選択において、以下のポイントを考慮することで効果的なデータ分析が可能になります。

  1. 目的に応じた関数選択
    • データ結合 → CONCAT関数
    • テキスト検索 → CONTAINS_TEXT関数
    • 数値計算 → 集計関数(SUM, AVERAGEなど)
    • 日付処理 → 日付関数(DATE, FORMATDATEなど)
  1. 選択基準のポイント
    • データの性質(文字列、数値、日付など)
    • 処理の複雑さ
    • パフォーマンスへの影響
    • 保守性の考慮