メインコンテンツにスキップ
お客さまへの大切なお知らせ:膨大なサポート情報を少しでも早くお客さまにお届けするため、本コンテンツの日本語版は人間の翻訳者を介さない自動翻訳で提供されております。正確な最新情報については本コンテンツの英語版をご覧ください。

データセットを作成して使用する

更新日時 2022年 5月 12日

対象製品

Operations Hub Enterprise

データセットとは、HubSpotアカウント全体のデータの集合であり、カスタムレポートで使用できます。データセットには、CRMオブジェクトやHubSpotアセットのプロパティー、必要に応じてデータを計算するための数式などを含めることができます。例えば、取引額のプロパティーに基づいて年間経常収益を計算するフィールドを作成できます。 

チーム用のデータセットを複数作成しておくと、レポート作成者は、レポートを作成する必要が生じるたびにデータソースを選択する必要がなくなります。また、データセットは作成後に更新できるので、そのデータセットを使用するすべてのレポートを同時に更新できます。

以下では、データセットの作成方法、レポートでのデータセットの使用方法、データセットツールで使用できる関数の定義について説明します。

データセットを作成する

データセットを作成するには、次の手順に従います。

  • HubSpotアカウントで、[レポート]>[データセット]に移動します。
  • 右上の[データセットを作成]をクリックします。

データセットビルダーの[結合]タブが表示されます。

結合

まず、データセットに含めるデータソースを選択します。この場合のデータソースとは、レポートの対象となるオブジェクト、アセット、イベントを指します。これには、すべてのCRMオブジェクト(コンタクトやカスタムオブジェクトなど)とアセット(ウェブサイトのページやメール、会話、セールスアクティビティーなど)が含まれます。1つのデータセットにつき最大5つのデータソースを選択できます。

データセットはプライマリー データ ソースを中心に構成され、そのプライマリーソースに関連する他のすべてのデータソースが追加されます。これらのデータソースを接続するために、HubSpotではバックグラウンドで最短パスを使ってデータが結合されます。例えば、コンタクトと取引は直接関連しているので、追加の結合を必要とせずに選択できます。 

ただしその他のデータソースは直接関連付けることができないため、データを結合するには追加のソースが必要となります。例えば、[取引件数]をプライマリーソースとするレポートにブログ記事のデータを含める場合、HubSpotでは[コンタクト]と[ウェブアクティビティー]ソースを介してのみこれらのソースをリンクできます。データを結合するときに、このような他のソースが自動的に選択されます。

  • プライマリー データ ソースを選択するには、[プライマリー データ ソース]ドロップダウンメニューをクリックして、データソースを選択します。

    datasets-join-tab0
  • 引き続き追加のデータソースを選択します。右側のパネルで、現在選択されているデータソース間の関係を確認できます。
  • ソースを選択するときに、画面下部の[プレビュー]ペインでデータのプレビューを確認します。 
  • データソースを選択したら、右上の[次へ]をクリックします。

準備

データセットに含めるフィールドを選択します。既存のHubSpotプロパティーをデータセットに追加したり、カスタム数式フィールドを追加したりできます。

プロパティーを追加する

  • データセットにプロパティーを追加するには、左側のサイドバーから[データセットを構築]セクションにプロパティーをドラッグ&ドロップします。

2021-10-28_11-28-34 (1)

  • プロパティーの名前を変更するか、またはそのデータのプレビューを表示するには、[データセットを構築]の下でそのプロパティーをクリックして、右側の[名前]フィールドに新しい名前を入力します。プロパティーの名前を変更すると、このデータセットでのみ名前が更新されます。これにより、レポートビルダーでのこれらのフィールドの表示方法をカスタマイズできますが、既存のプロパティーの名前には影響しません。

数式フィールドを追加する

数式フィールドはデータセットに固有のフィールドであり、データセットのプロパティーに基づいて値を計算するために使用できます。柔軟な式を使った数式の作成について、詳細をご確認ください。

  • 数式フィールドを作成するには、[式フィールドを作成]をクリックします。

    dataset-create-formula-field0
  • 右側に、フィールドの名前を入力します。
  • [式]フィールドに、数式を入力します。データセットに追加したプロパティーや、データセット外のその他のHubSpotプロパティーを参照し、関数を使ってプロパティーやリテラルデータに基づいて計算することができます。式の構文と定義については、以下をご確認ください
    • 手動で数式を入力するには、[式]フィールドへの入力を開始します。既定では、HubSpotではテキストの入力時にオートコンプリートオプションが表示されます。オートコンプリートをオフにするには、[式ガイダンスを表示]チェックボックスをオフにします。

      dataset-formula-field-auto-complete0
    • データセットに追加したプロパティーを挿入するには、[フィールドを作成しました]ドロップダウンメニューをクリックして、プロパティーを選択します。
    • データセットにないプロパティーを挿入するには、[HubSpotのプロパティー]ドロップダウンメニューをクリックし、プロパティーを選択します。
    • 関数を挿入するには、[機能]ドロップダウンメニューをクリックして関数を選択します。
formula-field-options0
  • 数式を作成すると、[式]フィールドに検証状況が表示されます。数式が無効な場合は赤色のステータスインジケーターが表示され、[検証]をクリックしてエラーの詳細を確認できます。
    dataset-formula-field-validation0
  • フィールドの設定が完了したら、右上の[次へ]をクリックします。

条件付きフィールドの追加

ご注意:このセクションには、現在ベータ版の機能に関する情報が含まれています。

条件付きフィールドは、ユーザーが設定した条件に基づいてデータをグループ化したり、バケット化したりすることを可能にします。これらのフィールドは、データセットまたはカスタムレポートビルダーでのみ使用することができます。条件付きフィールドを使用して、案件の規模に応じて異なるコミッションを計算したり、フィードバックの回答をカテゴリーに変換して、たとえば1~6のラベルを付けるとdetractorと表示したりすることが可能です。

条件付きフィールドでは、IF()関数を使って計算式を構築することができます。条件付きフィールドを使用して構築されたフィールドは、標準的な数式作成フィールドのIF()関数を使用して再作成することができます。

  • 条件フィールドの作成」をクリックして、条件フィールドを新規に作成します。
    じょうけんつきフィールドの作成
  • 右側に、フィールドの名前を入力します。この名前は、このセグメントを使用してレポートを作成する際に表示されます。
  • 条件]セクションで、IF条件を入力します。データの各行について、このセクションで設定された条件が真であれば、その行にはThen フィールドで設定された値でラベルが付けられる。条件が false の場合、その行はDefault value フィールドに設定された値でラベル付けされますデータセットに追加したプロパティや、データセット外のHubSpotのプロパティを参照したり、プロパティやリテラルデータを基に計算する関数を使用したりすることができます。式の構文と定義については、以下をご確認ください
    • 数式を手入力するには、IFフィールドで入力を開始します。デフォルトでは、HubSpotはテキストを入力する際にオートコンプリートオプションを表示します。

      じっこうじょうけん
    • HubSpotプロパティ、データセットに追加したプロパティ、または関数を挿入するには、「挿入」ドロップダウンメニューをクリックし、「HubSpotプロパティ」「作成済みフィールド」「関数」のいずれかを選択します。

      if-condition-insert-menu(条件付き挿入メニュー
    • Thenのフィールドに、条件がtrueの場合に割り当てたい値を入力します。
    • また、「高度な式」チェックボックスを選択すると、ラベルの代わりに値を計算したり、プロパティを参照したりすることができます。例えば、手数料の計算には、Advanced expressionsを使用することができます。
  • 別の条件フィールドを追加する場合は、「条件ブロックの追加」をクリックします。条件ブロックは順次処理され、最初の条件が真であれば、そのブロックに定義された値が設定される。もし、それが真実でなければ、HubSpotは次のブロックに行き、といった具合です。設定された条件を満たさない行には、Default 値が割り当てられます。

    アドコンディショナルブロック
  • Default valueの項目で、条件を満たさない場合のElseの値を入力します。

    じゅんかんじょうけん
  • フィールドの設定が完了したら、右上の[次へ]をクリックします。
例えば、条件付きフィールドを使用して、購読レベルによって顧客を評価するためには、3つの条件ブロックを作成します。

例示条件付きフィールド

フィルター

フィールドにフィルターを追加することで、データをさらに絞り込むことができます。

フィルターを追加するには、次の手順に従います。

  • 左側のサイドバーから、フィールドをクリックして[無効なフィルター]セクションにドラッグします。
  • フィールドをクリックすると、そのフィルターオプションが表示されます。フィルターを選択してから[適用]をクリックします。
  • フィルターをグループにまとめるには、1つのフィールドをクリックして、[別のフィルターとグループ化]ドロップダウンメニューをクリックします。別のアクティブフィルターを選択して、[適用]をクリックします。

datasets-group-filters0

    • 「and」ロジックまたは「or」ロジックを使ってフィルターをグループにまとめるかどうかを変更できます。これには、フィルターの間にあるロジックセレクターをクリックして、[and]また[or]を選択します。

      datasets-and-or-filter0
    • フィルターのグループ化を解除するには、フィルターをクリックし、[別のフィルターとグループ化]ドロップダウンメニューをクリックします。[なし]を選択してから、[適用]をクリックします。
  • フィルターの設定が終わったら[次へ]をクリックします。

確認

保存する前にデータセットを確認します。 

  • [ソース]で、選択したデータソースを確認します。 
  • [フィールド]で、データセットのフィールドを確認します。次に例を示します。
    • フィールド:フィールドの名前。
    • 派生:フィールドが、HubSpotの標準フィールドとカスタム計算フィールドのどちらであるかを示します。
    • データタイプ:フィールドに含まれるデータのタイプ。
    • 入力:フィールドの式。
    • ソース:データのソース(例:「コンタクト」)。
  • [プレビュー]パネルで、データのプレビューを確認します。[テーブルの関係を表示]をクリックすると、データがどのように接続しているかを確認できます。
  • データを確認したら、[保存]をクリックしてデータセットを保存します。
  • 右側のパネルで、データセットの名前説明を入力します。
  • [適用]をクリックします。

その後、レポートビルダーが表示されます。レポートビルダーでは、データセットに基づいてレポートを作成できます。

データセットを表示して管理する

データセットダッシュボードでは、既存のデータセットを表示、編集できます。

  • HubSpotアカウントで、[レポート]>[データセット]に移動します。
  • テーブルの上部にあるフィルターを使って、既存のデータセットをフィルタリングできます。
  • データセットを編集するには、データセットにカーソルを合わせて、[編集]をクリックします。データセットの詳細ページが表示されます。
    • [プレビュー]タブで、データセットのデータのプレビューを確認します。 
    • [メタデータ]タブで、データセットに含まれるデータソースとフィールドを確認します。次に例を示します。
      • フィールド:フィールドの名前。
      • 派生:フィールドが、HubSpotの標準フィールドとカスタム計算フィールドのどちらであるかを示します。
      • データタイプ:フィールドに含まれるデータのタイプ。
      • 入力:フィールドにデータを取り込むために使用される文字列。
      • ソース:データのソース(例:「コンタクト」)。
    • [レポート]タブで、データセットを使って作成されたレポートを確認します。
    • データセットの詳細ページで[レポートを作成]をクリックして、そのデータセットを使って新しいレポートを作成することもできます。

データセットを使ってレポートを作成する

データセットを作成したら、レポートビルダーまたはデータセットツールから、データセットに基づいてレポートを作成できます。

  • データセット内からレポートを作成するには、次の手順に従います。
  • カスタム レポート ビルダーからレポートを作成するには、次の手順に従います。
    • HubSpotアカウントにて、[レポート] > [レポート]の順に進みます。
    • 右上の[カスタムレポートを作成]をクリックします。
    • 左のサイドバーで、[カスタム レポート ビルダー]を選択します。
    • 右側の[データセットを参照]タブをクリックして、既存のデータセットを確認します。

      browse-datasets-tab0
    • 使用するデータセットを選択し、[次へ]をクリックします。

リファレンス

構文

関数内では、プロパティーとフィールドのデータ、またはリテラルデータを使用できます。プロパティーとフィールドのデータは、個々のデータソースに基づいて動的に設定されますが、リテラルデータは定数です。次に例を示します。

  • 2021-03-05はリテラルの日付であり、定数です。
  • [CONTACT.createdate]は、プロパティーに基づく日付で、コンタクトレコードごとに動的に設定されます。

関数には、リテラルデータとプロパティー/フィールドデータの両方を含めることができます。ただし、データ型が関数の必須引数と互換である場合に限ります。次に例を示します。

DATEDIFF("MONTH", "2021-01-01", “[CONTACT.createdate]”)

以下に、リテラルとプロパティー/フィールドデータの構文、これらのデータを数式に組み込む方法を説明します。

リテラル構文

テキストの静的文字列、数値、true/false値、日付を計算に追加するには、リテラルを使用します。

  • 文字列リテラル:引用符で囲まれたテキスト。例:“My cool string”
  • 数字リテラル:引用符で囲まれていない数字。例:42
  • ブール値リテラル:trueまたはfalse
  • 日付リテラル:"YYY-MM-DD " の形式の文字列、または日付のタイムスタンプ数値(例:1635715904)。 

プロパティー構文

プロパティー参照を使用して、選択したデータソースのプロパティーから値を直接取り込むことができます。プロパティーを参照するために、プロパティーをデータセットのフィールドとして追加する必要はありません。 

プロパティーを参照するときには、以下の構文を使用します。

  • 参照表現は常に角括弧([])で囲みます。
  • プロパティー参照では、オブジェクト名またはイベント名、ピリオド、内部プロパティー名をこの順序で指定します。次に例を示します。
    • [CONTACT.lifecyclestage]
    • [COMPANY.name]
    • [e_hs_scheduled_email_v2.__hs_event_native_timestamp]

フィールド参照構文

数式でフィールドを参照するには、フィールド名を角括弧で囲みます。次に例を示します。

    • [Field 1]
    • [My awesome custom field]

数式の演算子や関数がフィールドのデータ型を受け入れる限り、数式でそのフィールドを参照できます。例えば、文字列を含む新しいフィールドを作成した場合、文字列を受け入れる関数の中でそのフィールドを参照できます。

  • 「Field 1」[DEAL.name]の場合、文字列値(取引の名前)が含まれています。
  • CONCAT([Field 1], "Q4")は、2つの文字列値が含まれているため、有効です。
  • CONCAT([DEAL.name], 2012)は、文字列と数値の両方が含まれているため、有効ではありません

演算子

演算子はリテラルやプロパティー/フィールドの値とともに使用できます。演算子は、標準的な演算順(PEMDAS)で評価されます。これにより、括弧を使って演算子を入れ子にできます。次に例を示します。

  • プロパティの参照で数値を追加する。1 + [DEAL.mount](ディールアマウント
  • 括弧を使った演算のネスト(1 + 2) * (3 + 4)
演算子 説明 使用例

+

数値を加算します。数値を返します。

1 + 1
= 2

[DEAL.amount] + 100

-

数値を減算します。数値を返します。

100 - 1
= 99

EXP(1) - EXP(1)
= 0

WEEKNUM([DEAL.closedate]) - WEEKNUM([DEAL.createdate])

*

数値を乗算します。数値を返します。

2 * 2
= 4

POW(10, 2) * -1
= -100

[DEAL.amount] * 0.5

/

数値を除算します。数値を返します。

10/ 2
= 5

[DEAL.amount] / DATEDIFF("DAY", [DEAL.createdate], [DEAL.closedate])

-

数値の符号を切り替えます。

-100
= -100

-[DEAL.amount]

およびまたは&&

2つのブール値が両方ともtrueかどうかを確認します。ブール値を返します。

真と偽
= false

CONTAINS("HubSpot", "Hub")&& CONTAINS("HubSpot", "Spot")
= true

ORまたは||

2つのブール値のいずれかがtrueかどうかを確認します。ブール値を返します。

真または偽
= true

CONTAINS(“HubSpot”, “Hub”) || CONTAINS(“HubSpot”, “CRM”)
= true

!

ブール値を反転します。別のブール値を返します。

!true
= false

=または==

等価演算子です。ブール値を返します。

=true
= 真

IF

IFロジックとは、ある条件を満たした場合に実行されるルールの集合体です。IFロジックでデータを区別することができます。例えば、IFロジックを使って

  • 取引の大きさに応じて手数料を計算する(例:大きな取引には高い%を与える)。
  • 案件を階層別に分類し、レポートでの分析・対策に役立てることができます。
  • フィードバックの回答をカテゴリーに変換する(例:ラベル1~6はdetractor)。
  • リードとしてマークされた日数に基づいてコンタクトの優先順位を定義します。
     

数値関数

関数 定義 引数 使用例

ABS

数値の絶対値を計算します。数値を返します。

ABS(number)

number:絶対値を取得する数値。

ABS(-10)
= 10

ABS(10)
= 10

CEIL

小数値を直近の整数に切り上げます。数値を返します。

CEIL(number)

number:最大値を取得する数値。

CEIL(3.14)
= 4

CEIL(EXP(1))
= 3

CEIL(LN([DEAL.amount]))

DIV0

数値の除算を実行しますが、除数がゼロの場合はゼロを返します。数値を返します。

DIV0(dividend, divisor)

dividend:除算演算で非除数として使用する数値。

divisor:除算演算で除数として使用する数値(ゼロの場合は全体の値がゼロになる)

DIV0(5, 2)
= 2.5

DIV0(5, 0)
= 0

DIV0([DEAL.amount], DATEDIFF("DAY", [DEAL.createdate], [DEAL.closedate]))

EXP

値の乗数のオイラー数を計算します。数値を返します。

EXP(exponent)

exponent:オイラー数をべき乗する指数。

EXP(1)
= 2.718281828459045

EXP(0)
= 1

FLOOR

小数値を直近の整数に切り下げます。数値を返します。

FLOOR(number)

number:オイラー数をべき乗する指数。

FLOOR(3.14)
= 3

CEIL(EXP(1))
= 2

FLOOR(LN([DEAL.amount]))

LN

値の自然対数を計算します。数値を返します。

LN(number)

number:自然対数を取得する値。

LN(1)
= 0

LN(EXP(1))
= 1

LN([DEAL.amount])

LOG

指定された底で値の対数を計算します。数値を返します。

LOG(base, value)

base:値の対数計算に使用する底。

value:対数を取得する数値。

LOG(10, 1)
= 0

LOG(10, 10)
= 1

LOG(10, [DEAL.amount])

POWER

底の値を指定された累乗にべき乗します。数値を返します。

POWER(base, exponent)

base:累乗を計算する数値。

exponent:底をべき乗する数値。

POWER(2, 10)
= 1024

POWER(100, 0.5)
= 10

POWER([DEAL.hs_arr], 2)

SQRT

非負数の平方根を取得します。数値を返します。

SQRT(number)

number:平方根を取得する数値。

SQRT(100)
= 10

SQRT([DEAL.hs_arr])

WIDTH_BUCKET

数値を等幅のバケットにビニングします。値が振り分けられるバケットの数を返します。

値が最小値を下回る場合はゼロを返します。値が最大値を上回る場合はバケットの数+1を返します。

WIDTH_BUCKET(value, minValue, maxValue, bucketCount)

value: ビン数を計算するための数値。

minValue:ビニングを開始する最小値

maxValue:ビニングの最大値。

bucketCount:値をビニングする等幅バケットの数(minValuemaxValueの間)。 

WIDTH_BUCKET(25, 0, 100, 10)
= 3

WIDTH_BUCKET(95, 0, 100, 10)
= 10

WIDTH_BUCKET(-1000, 0, 100, 10)
= 0

WIDTH_BUCKET(9999, 0, 100, 10)
= 11

WIDTH_BUCKET([DEAL.amount], 0, 10000, 1000)

文字列関数

関数 定義 引数 使用例

CONTAINS

大文字と小文字を区別する部分文字列が文字列に含まれているかどうかを判断します。ブール値を返します。

CONTAINS("string", "substring")

string:テストする文字列値。

substring:文字列内にあることを確認する値。

CONTAINS("HubSpot", "Hub")
= true

CONTAINS("foo", "bar")
= false

CONTAINS([CONTACT.firstname], "Mike")

CONCAT

2つの文字列を連結します。文字列を返します。

CONCAT("string1", "string2")

string1:string2を追加する文字列値。

string2: string1に追加する文字列値。

CONCAT("Hub", "Spot")
= "HubSpot"

CONCAT([CONTACT.firstname], CONCAT(" ", [CONTACT.lastname]))

LENGTH

文字列の長さを計算します。数値を返します。

LENGTH("string")

string:長さを計算する文字列値。

LENGTH("HubSpot")
= 7

LENGTH([FEEDBACK_SUBMISSION.hs_content])

TRIM

文字列から先頭と末尾の空白を削除します。文字列を返します。

TRIM(" string ")

string:空白を切り取る文字列値。

TRIM(" Cats are great ")
= "Cats are great"

日付関数

関数 定義 引数 使用例

DATE_FROM_PARTS

年、月、日の部分から日付値を作成します。日付を返します。

DATE_FROM_PARTS(year, month, day)

year:目的の日付の年の部分。

month:目的の日付の月の部分。

day:目的の日付の日の部分。

DATE_FROM_PARTS(2021, 1, 1)
= 2021-01-01

DATEDIFF

指定された時間単位で最初の日付値と秒の間の時間単位数を返します。数値を返します。

DATEDIFF(“datePart”, “date1”, “date2”)

datePart:差の計算で使用する年、四半期、月、週、または日の単位。 

date1:date2から減算する開始日付値。

date2:date1を減算する終了日付値。

DATEDIFF("DAY", "2021-01-01", "2021-02-01")
= 31

DATEDIFF("MONTH", "2021-01-01", DATE_FROM_PARTS(2021, 2, 1))
= 1

DATEDIFF("QUARTER", [DEAL.createdate], [DEAL.closedate])

DATEPART

日付値から年、四半期、月、週、または日を抽出します。数値を返します。

DATEPART(“datePart”, “date”)

datePart:抽出する年、四半期、月、週、または日の単位。

date:日付の部分を抽出する日付値。

DATEPART("DAY", "2021-03-15")
= 15

DATEPART("MONTH", DATE_FROM_PARTS(2021, 3, 15))
= 3

DATEPART("YEAR", [DEAL.createdate])

DATETRUNC

日付値をその年、四半期、月、週、または日に切り捨てます。

DATETRUNC(“datePart”, “date”)

datePart:切り捨てる年、四半期、月、週、または日の単位。

date:切り捨てる日付値。

DATETRUNC("YEAR", DATE_FROM_PARTS(2021, 3, 15))
= 2021-01-01

DATETRUNC("MONTH", "2021-03-15")
= 2021-03-01

DATETRUNC("DAY", [e_visited_page.__hs_event_native_timestamp])

TIMESTAMP_FROM_PARTS

年、月、日、時間、分、秒の部分からタイムスタンプ値を作成します。日時値を返します。

TIMESTAMP_FROM_PARTS(year, month, day)

year:目的の日付の年の部分。

month:目的の日付の月の部分。

day:目的の日付の日の部分。 

TIMESTAMP_FROM_PARTS(2021, 1, 1)
= 2021-01-01

WEEKNUM

日付の年内の週数を計算します。数値を返します。

WEEKNUM(“date”)

date:年内の週数を計算する日時値。

WEEKNUM("2021-03-15")
= 11

WEEKNUM(“1609459200”)
= 11

WEEKNUM(“[deal.createdate]”)

NOW

アカウントのタイムゾーンに基づいて、現在の時刻を返します。日時値を返します。

NOW()

 

NOW()
= 1633611966314

勤務日

BASE関数は、2つの日付の間にある週の日数(月曜日から金曜日まで)を返します。

WORKINGDAYS(値1、値2)

value1:時刻の開始値。

value 2:終了日時の値。 

WORKINGDAYS("2022-01-01 ", " 2022-01-31")
= 21

WORKINGDAYS( "1640995200", " 2022-01-31")
= 21

WORKINGDAYS([DEAL.createdate])、NOW()

Was this article helpful? *
This form is used for documentation feedback only. Learn how to get help with HubSpot.