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

計算プロパティーを作成する

更新日時 2024年 5月 16日

以下の 製品でご利用いただけます(別途記載されている場合を除きます)。

Marketing Hub   Professional , Enterprise
Sales Hub   Professional , Enterprise
Service Hub   Professional , Enterprise
Operations Hub   Professional
Content Hub   Professional , Enterprise

HubSpotの計算プロパティーを使用すると、関連レコードのプロパティーについて最小値、最大値、カウント、合計、平均値を自動的に計算することや、他のプロパティーに基づいてカスタム式を設定することができます。 

例えば、次のものを作成できます。

  • コンタクトに関連付けられている取引の平均金額を計算するコンタクトプロパティー。 
  • カスタム式に基づいて新規顧客創出のコストを計算する会社プロパティー。

注:作成できる計算プロパティーの上限数はご契約のHubSpot製品に応じて異なります。

計算プロパティーを作成する

計算プロパティーは、関連レコードのプロパティー値、2つのプロパティー値の間の時間、または独自のカスタム式など、さまざまな条件に基づいて設定することができます。計算プロパティーを作成するには、次の操作を行います。

  • HubSpotアカウントにて、上部のナビゲーションバーに表示される設定アイコンsettingsをクリックします。
  • 左のサイドバーメニューで、[プロパティー]を選択します。

  • [オブジェクトを選択]ドロップダウンメニューをクリックし、[(オブジェクト)プロパティー]を選択して、そのオブジェクトのプロパティーを作成します。

  • プロパティーの基本情報を入力し、[次へ]をクリックします。
  • [フィールドタイプ]で[計算]を選択します。フィールドタイプは、計算プロパティーの作成後には編集できません。
  • [計算を作成]をクリックします。
  • [計算プロパティータイプ]のドロップダウンメニューをクリックし、作成したい式のタイプを次の中から選択します。

関連レコードのプロパティーに基づいて値を計算する

オブジェクトのプロパティーを作成すると、そのオブジェクトの関連レコードの特定のプロパティー値に基づいて、プロパティーが計算されます。そのオブジェクトの全ての関連レコード、または同じオブジェクト間の関連付けを含む特定の関連付けラベル , に基づいて計算することができます。

例えば、「意思決定者」ラベルが付与された取引の関連コンタクトに対して記録されたセールスアクティビティーの総数をカウントする取引プロパティーを作成することができます。

  • [計算プロパティータイプ]ドロップダウンメニューをクリックし、以下のタイプから選択します。
    • 最小:選択されたオブジェクトの関連レコードについて、選択された数値プロパティーの最小値を表示します。
    • 最大:選択されたオブジェクトの全ての関連レコードについて、選択された数値プロパティーの最大値を表示します。
    • カウント:選択されたオブジェクトのうち、選択された数値プロパティーの値が存在する関連レコードの合計件数をカウントします。
    • 合計:選択されたオブジェクトの全ての関連レコードについて、選択された数値プロパティーの値を合計します。
    • 平均:選択されたオブジェクトの全ての関連レコードについて、選択された数値プロパティーの値の平均を計算します。
  • プロパティー値の書式を選択するには、[数値の書式]ドロップダウンメニューをクリックし、書式付きの数値、書式なし数値、通貨、パーセンテージ、または所要時間から選択します。
  • 取引プロパティーのフォーマットとして通貨を選択した場合、プロパティーはアカウントの会社通貨を既定値として使用します。各取引レコードの通貨を使用するには、[会社通貨ではなくレコード通貨を使用]チェックボックスをオンにします。

注:レコード通貨の使用は、値の表示方法のみに影響し、自動的に為替レートが適用されることはありません

calculation-property-associated-record

  • プロパティー計算の基となる関連オブジェクトと関連レコードのプロパティーを選択します。 
  • 特定のラベルを付けたレコードのみに基づいて計算するには、[関連付けラベルを選択]をクリックし、含めたいラベルを選択します。
  • 条件を追加するには、[条件を作成]をクリックします。追加条件を設定した場合、その条件が満たされなければプロパティーは計算されません(例:最近の取引金額が1,000を超える場合にプロパティーを計算)。
    • 最初のドロップダウンメニューで、プロパティーを選択します。
    • 2番目のドロップダウンメニューで、最初のプロパティー値を数値または別のプロパティー値と比較する演算子を選択します。
    • 3番目のドロップダウンメニューで、最初のプロパティーと比較するプロパティーを選択するか、数値を入力します。
  • [作成]をクリックします。作成後、プロパティーのフィールドタイプは「ロールアップ」となります。

2つのプロパティー間の時間に基づいて値を計算する

同じオブジェクト内の選択された2つの日付入力プロパティー間の時間を計算するプロパティーを作成することができます。例えば、チケットの担当者が割り当てられてから、チケットがクローズされるまでの時間を計算することができます。間の時間計算プロパティー値の表示方法については後述します。

注:今日の日付に基づくプロパティーを作成しようとしている場合は、「次の間の時間」の計算プロパティーを作成するのではなく、ビューリストレポートワークフローでの日付プロパティーの相対時間フィルターを使用することをお勧めします。例えば、「前回のエンゲージメント日が7日より前」の場合、リストにコンタクトを含めることができます。あるいは、「契約更新日が今から31日未満」の場合、取引をワークフローに登録することができます。

  • [計算プロパティータイプ]ドロップダウンメニューをクリックし、[次の間の時間]を選択します。
  • それぞれのドロップダウンメニューをクリックして開始日と終了日のプロパティーを選択します。

time-between-calculation-property

  • 条件を追加するには、[条件を作成]をクリックします。追加条件を設定した場合、その条件が満たされなければプロパティーは計算されません(例:最近の取引金額が1,000を超える場合にプロパティーを計算)。
    • 最初のドロップダウンメニューで、プロパティーを選択します。
    • 2番目のドロップダウンメニューで、最初のプロパティー値を数値または別のプロパティー値と比較する演算子を選択します。
    • 3番目のドロップダウンメニューで、最初のプロパティーと比較するプロパティーを選択するか、数値を入力します。
  • [作成]をクリックします。作成後、プロパティーのフィールドタイプはロールアップとなります。

間の時間計算プロパティーの値を表示する場合、以下のような動作が想定されます。

  • 時間の表示方法は、HubSpotのツールごとに異なります。
  • タイムスタンプのない日付プロパティーの場合、計算に使用される既定の時刻は、選択された日の12:00 am UTCになります。
  • レコード(例えば、コンタクトレコード)では、表示される値は時間、日、月、または年単位となり、特定のしきい値に基づいて次の単位に切り上げられます。例えば、計算結果が1か月と20日であれば「1か月」と表示されますが、1か月と27日であれば「2か月」と表示されます。しきい値は次の通りです。
    • 45秒以上は1分に切り上げられます。
    • 45分以上は1時間に切り上げられます。
    • 22時間以上は1日に切り上げられます。
    • 26日以上は1か月に切り上げられます。
    • 11か月以上は1年に切り上げられます。
  • このフィールドタイプのプロパティーを使用しているカスタムレポートでは、値が日単位で表示されます。たとえば、計算結果が1年と20日の場合、「385日」と表示されます。

注: HubSpot内では、間の時間および平均プロパティータイプの未加工の値はミリ秒単位で保存されます。数式でこれらの値を使用していて想定よりも高い値を使用する結果になる場合は、ミリ秒変換ツールを使用して目的の時間単位に変換します。


カスタム式に基づいて値を計算する

独自の条件に基づいて値を計算するプロパティーを作成することもできます。カスタム式は、新しいプロパティーを作成する同じオブジェクト内の数値プロパティーにのみ設定できます。例えば、ある会社に連絡した回数([連絡の回数])と、その会社の最近の取引の金額([最近の取引金額])を計算に使用する数式を作成できます。

算術演算子、比較演算子、論理演算子、条件文、その他の関数を使ってカスタム式を作成できます。これらの数式は、数値、ブール値、文字列、または日付の値を返すことができます。詳しくは、利用可能な演算子および関数数式の書式設定についてご確認ください。 

カスタム数式の計算プロパティーを作成するには、次の操作を行います。

  • [計算プロパティータイプ]ドロップダウンメニューをクリックし、カスタム式を選択します。
  • [出力タイプ]ドロップダウンをクリックし、計算結果のタイプを選択します。数値、ブール値、文字列、日付から選択できます。

注:選択する出力タイプは、エディターの右上に表示されている出力タイプと一致している必要があります。一致していない場合、プロパティーを作成できません。日付を返すプロパティーの場合は、数値または日付のいずれの出力タイプでも使用できます。これらは、値の表示形式(例えば、数値の場合は日付がミリ秒単位で表示され、日付の場合は書式設定された日付が表示されます)。

  • 数値の出力タイプを選択した場合は、続いて以下の操作を行います。
    • [数値の書式]ドロップダウンメニューをクリックし、プロパティー値の書式を選択します。書式付きの数値、書式なし数値、通貨、パーセンテージ、所要時間から選択できます。
    • 取引プロパティーの数値の書式として通貨を選択した場合、取引プロパティーはアカウントの会社通貨を既定値として使用します。各取引レコードの通貨を使用するには、[会社通貨ではなくレコード通貨を使用]チェックボックスをオンにします。

注:レコード通貨の使用は、値の表示方法のみに影響し、自動的に為替レートが適用されることはありません。為替レートを追加するには、exchange_rateまたはdated_exchange_rate関数を使用します。


  • 式エディターで、関数やプロパティーの挿入、入力、貼り付けを行い、カスタム式を作成します。カスタム計算式の構文の詳細をご覧ください。数式の要素を挿入するには、次のようにします。
    • [挿入]ドロップダウンメニューをクリックします。
    • 数式に関数を挿入するには、[関数]を選択して関数を選択します。
    • 数式にプロパティーを挿入するには、[プロパティー]を選択してプロパティーを選択します。カスタム式を作成するときに使用できるプロパティーは、プロパティーを作成する同じオブジェクトのプロパティーのみです。

calculation-property-example-inserting

  • 数式にエラーがある場合は、エディターの上にある[◯件の問題]をクリックすると、エラーの理由が表示されます。数式のエラーが解決しないと、プロパティーを作成することはできません。詳しくはカスタム式の書式を設定する方法をご確認ください。
  • 式の出力をプレビューするには、[式のテスト]をクリックします。
calculated-property-preview

注:カスタム式内の数値プロパティーのいずれかに値がない、または値がnullである場合、計算は実行されず、計算プロパティーの値は空になります。式に定数が含まれていても、値は空になります。このような場合、ifis_known関数を使って、代わりに値を0に設定することができます。


  • [作成]をクリックします。作成後、プロパティーのフィールドタイプは「計算」となります。

カスタム式の構文

式エディターでは、リテラルデータ、他のプロパティーからのデータ、演算子、関数を使用して、独自のカスタム式を作成することができます。以下では、カスタム計算式を作成するための構文と、よく使われる式の例を説明します。

リテラル構文

リテラルデータを使用すると、テキスト文字列、数値、trueまたはfalseの値を数式に追加できます。文字列、数値、ブール値、および日付定数は、次のように書式設定できます。

  • 文字列リテラル:引用符で囲まれたテキスト。これらは、単一引用符('constant')または二重引用符("constant")のいずれかを使用して表現できます。

  • 数字リテラル:引用符で囲まれていない数字。定数には任意の実数を指定できます。小数点表現を含めることもできます。例えば、10051.5589は、どちらも有効な定数です。

  • ブール値リテラル:ブール型定数には、trueまたはfalseを指定できます。

  • 日付リテラル:ミリ秒単位の日付。例えば、1698508800000です。

プロパティー構文

同じオブジェクトの他のプロパティーをカスタム式に含めることができます。プロパティーがエディターに挿入されると、数式の一部として自動的に書式設定され、検証されます。

プロパティーを手動で入力するか、エディターに貼り付ける場合は、[properties.{propertyInternalName}]の書式にする必要があります。例えば、内部値 Test_scoreを持つプロパティーTest score,を追加するには、[properties.Test_score]とエディターにタイプします。

列挙プロパティーを式で使用する場合(ドロップダウン選択、ラジオボタン選択など)、値は文字列とみなされるため、二重引用符で囲む必要があります。例えば、"subscriber"のように入力します。

演算子

式の中で演算子を使うと、定数やプロパティーの値を更新、評価、比較することができます。複数の演算子を使用する場合は、演算子の優先順位(PEMDAS)に従います。使用するデータのタイプに応じて、以下の演算子をカスタム式に含めることができます。

演算子 説明
+ 数値または文字列を加算します。数値を返します。
- 数値を減算します。数値を返します。
* 数値を乗算します。数値を返します。
/ 数値を除算します。数値を返します。
< ある値が他の値より小さいかどうかを確認します。数値プロパティーまたは定数に使用できます。ブール値を返します。
> ある値が他の値より大きいかどうかを確認します。数値プロパティーまたは定数に使用できます。ブール値を返します。
<= ある値が他の値以下であるかどうかを確認します。数値プロパティーまたは定数に使用できます。ブール値を返します。
>= ある値が他の値以上であるかどうかを確認します。数値プロパティーまたは定数に使用できます。ブール値を返します。
! いずれの値もtrueでないことを確認します。ブール値を返します。
=または== ある値が別の値と等しいことを確認します。数値と文字列に使用できます。ブール値を返します。
!= ある値が別の値と等しくないことを確認します。数値と文字列に使用できます。ブール値を返します。
orまたは|| 2つの値のいずれかがtrueであることを確認します。ブール値を返します。
andまたは&& 両方の値がtrueであることを確認します。ブール値を返します。

関数

カスタム式内で関数を使用して、値を計算したり、データに対するアクションを実行したりできます。使用するデータのタイプに応じて、以下の関数をカスタム式に含めることができます。

関数 引数

abs

数値の絶対値を取得します。数値を返します。

abs(number)

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

abs(-100) = 100

concatenate

最大100個の文字列を1つの値にまとめます。文字列を返します。

concatenate("arg 1", "arg 2")

arg1:arg2を追加する文字列。

arg2:arg1に追加する文字列。

concatenate("テスト", "サンプル") = "テストサンプル"

contains

特定の文字シーケンスを含む文字列を絞り込みます。文字列を返します。 

contains(property, text)

property:テキストをチェックするプロパティー。

text:値に含まれるべき文字のシーケンス。

contains([properties.name], "Spot") = HubSpot

currency_decimal_places

通貨の小数部桁数を取得します。数値を返します。

currency_decimal_places(currency)

currency:小数部桁数を計算する通貨文字列。

currency_decimal_places("USD")

dated_exchange_rate

特定の時点における為替レートの値を取得します。数値を返します。 

dated_exchange_rate(currency, date)

currency:特定の日付の為替レートを計算する通貨の文字列(例:"USD")。

date:為替レートを計算する日時プロパティー。

dated_exchange_rate("USD", [properties.closedate])

exchange_rate

最新の為替レートを取得します。数値を返します。

exchange_rate(currency)

currency:為替レートを計算する通貨の文字列。

exchange_rate("USD")

if

条件式を設定します。

if(condition, arg2)またはif(condition, arg2, arg3)

condition:計算値を決めるブール値ステートメント。

arg2:条件が満たされた場合に、計算値となるブール値、数値、または文字列。 

arg3(任意):条件が満たされなかった場合の計算値。これを含める場合は、arg2と同じタイプにする必要があります。これを使用しない場合に、条件が満たされないと、値はnullになります。 

if([properties.amount] > 1000, "large", "small")

 

is_known

トークンに値があるかどうかを判断します。ブール値を返します。

is_known(property)

property:値をチェックするプロパティー。

is_known([properties.name]) = true

last_updated

トークンが最後に更新された日付を取得します。ミリ秒単位のタイムスタンプを文字列として返します。

last_updated(property)

property:直近の更新日をチェックするプロパティー。

last_updated([properties.amount]) = "1672531200000"

lowercase

全てのアルファベット文字を小文字に変更します。文字列を返します。

lowercase(text)

text:小文字に変更する文字列またはテキストプロパティー。

lowercase("heLLo") = "hello"


lowercase([properties.test])

max

2つの数値の最大値を取得します。数値を返します。 

max(arg1, arg2)

arg1:最初の数値または数値プロパティー。

arg2:2つ目の数値または数値プロパティー。

max(500,[properties.amount]) = 500(amountの値が500未満の場合)。

min

2つの数値の最小値を取得します。数値を返します。

min(arg1, arg2)

arg1:最初の数値または数値プロパティー。

arg2:2つ目の数値または数値プロパティー。

min(500, 250) = 250

month

特定の日付の月を数値として取得します。数値を返します。

month(date)

date:月を計算する日時プロパティー。

month([properties.closedate])

number_to_string

数値を文字列に変換します。文字列を返します。

number_to_string(number_to_convert)

number_to_convert:文字列に変更する数値または数値プロパティー。

number_to_string(1000) = "1000"

pipeline_probability

パイプラインステージの確度を取得します。数値を返します。

pipeline_probability(pipeline)

pipeline:確度を計算するパイプラインの名前。

pipeline_probability("newdeal")

power

数値を他の数値の値でべき乗します。数値を返します。

power(base, exponent)

base:基数。

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

power(5, 2) = 25

round_down

数値の端数を指定の小数点以下の桁で切り下げます。数値を返します。

round_down(number_to_round, precision)

number_to_round:切り下げを行う数値または数値プロパティー。

precision:切り下げる小数部桁数。

round_down(4.353, 1) = 4.3

round_nearest

数値の小数点以下の桁を四捨五入します。数値を返します。

round_nearest(number_to_round, precision)

number_to_round:四捨五入する数値または数値プロパティー。

precision:四捨五入する小数部桁数。

round_nearest(4.32, 1) = 4.3

round_up

数値の端数を指定の小数点以下の桁で切り上げます。数値を返します。

round_up(number_to_round, precision)

number_to_round:切り上げを行う数値または数値プロパティー。

number_to_round:切り上げる小数部桁数。

round_up(4.353, 1) = 4.4

sqrt

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

sqrt(number)

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

sqrt(144) = 12

starts_with

特定の文字シーケンスで始まる文字列を絞り込みます。文字列を返します。

starts_with(property, text)

property:開始文字をチェックするプロパティー。

text:値の冒頭に含まれるべき文字のシーケンス。 

starts_with([properties.name], "Hub") = HubSpot 

string_to_number

文字列を数値に変換します。数値を返します。

string_to_number(string_to_convert)

string_to_convert:数値に変換する文字列またはテキストプロパティー。

string_to_number("1000") = 1000

time_between

2つの日付間の時間を取得します。数値を返します。

time_between(date1, date2)

date1:開始日時プロパティー。

date2:終了日時プロパティー。

time_between([properties.createdate],[properties.closedate])

uppercase

全てのアルファベット文字を大文字に変更します。数値を返します。

uppercase(text)

text:大文字に変更する文字列またはテキストプロパティー。

uppercase("hello") = "HELLO"

year

特定の日付の年を数値として取得します。数値を返します。

year(date)

date:年を計算する日時プロパティー。

year([properties.closedate])

以下に、一般的なユースケースに基づく計算式の例をご紹介します。

  • 複数の条件を持つステートメントや関数内のステートメントなど、if elseステートメントを設定することができます。
    • if([properties.number] < 4, "less than four", "more than four")
    • if([properties.number] < 4, if([properties.other_number] < 2, "both true", "one true"), "not true")
    • concatenate(if([properties.number] < 4, "less", "more"), " than four")
  • カスタム式で数値プロパティーを使用する場合、ifis_known関数を使用すると、数値プロパティーが空のときに値を0に設定することができます。例えば、if(is_known([properties.number]), [properties.number], 0)です。
  • レコード通貨を数式に使用する場合、exchange_rateまたはdated_exchange_rate関数を使用すると、為替レートを追加することができます。例えば、[properties.amount] * exchange_rate('CAD')のように入力します。
この記事はお役に立ちましたか?
こちらのフォームではドキュメントに関するご意見をご提供ください。HubSpotがご提供しているヘルプはこちらでご確認ください。