SalesforceのDateDiffって何?作成方法などサンプルを用いてご紹介します
IT・技術関連
更新日:2024.09.05


SalesforceにおけるDateDaffとは?
DateDiffとは、2つの日付の時間差のことです。期間を決めた場合は、期間の間隔の差になります。日数の差を決めた場合は日数の差となります。
例えば、SalesforceでDateDiffを使用する際、商談が完了するまでどのくらい期間がかかったのか出すプログラムや次のタスクや予定までの期間を出すのに使用されることが多いです。商談が何ヶ月前、何日前に行われたかを出すのにも使います。
つまり、時間や日数など何かしらの数字の差に関わるものには使用されていることが多い関数となります。
SalesforceにおけるDateDiffの概要

DateDiffの2種類の構文
date_diff(datepart,date1,date2)
datepartでは、時間を測定するときの間隔を決めます。SalesforceでDateDiffのdatepartの決められる間隔の例は、year、month、quarter、day、week、hour、minute、secondなどがあります。
年単位や月単位、日にちの単位、週単位、時間、分、秒などいろんな期間で計算が可能です。単位が多いのでさまざまな場面で活用が可能です。
date1は、比較をするための最初の日付を表します。日付を出力するためにDateDiff以外の他の関数を呼び出すこともある部分です。date2は、比較するための期間の終了日です。日付を出力する際に必要なDateDiff以外の関数も使用できます。
また、DateDiffには以下の構文があります。
DateDiff(date1, date2, string)
date1は比較の最初の日付であり、出力のためにDateDiff以外の関数を使用できます。Date2は終了日の日付で、出力に別関数の使用が可能です。date1もdate2もMM/dd/yyyyやYYYY-MM-DD形式を使うことができます。
stringは期間の測定の間隔を指定できます。使うことのできる値は、yearの「Y」、monthの「M」、dayの「D」、hourの「H」、minuteの「M」です。「Q」は日付が属する四半期の差になります。
DateDiffは、基本的には比べたい2つの日付とyyyyやmm、ddなど年単位、月単位、日、時間など期間の測定の間隔を使います。用意する日付は、開始日と終了日になるので構文に当てはめて使用するといいでしょう。
DateDiffの使用例
Salesforceで使用するDateDiff関数の使用例について紹介します。Salesforceでそれぞれの商談に何週間かかったか、商談をどのくらい前に完了させたのかという例です。date_diff(datepart,date1,date2)の構文で説明します。 まずは、date_diff(datepart,date1,date2)の基本的な書き方のサンプルコードです。date_diff(""year"", toDate(""31-12-2015"", ""dd-MM-yyyy""), toDate(""1-1-2016"", ""dd-MM-yyyy""))
日付-月-年の書き方で2つの日付が何年差があるのかを求めます。基本的にDateDiffは数字の引き算に近いです。日付の引き算だということを考えて、以下の例を見て考えてみましょう。MM/dd/yyyyの書き方でも同じ結果が出ます。以下サンプルコードです。
date_diff(""year"", toDate(""12-31-2015"", ""MM/dd/yyyy""), toDate(""1-1-2016"", ""MM/dd/yyyy""))
「Salesforceでそれぞれの商談に何週間かかったか」の使用例から説明します。それぞれの商談の計算に最初にweekを使用して、時間を測定する間隔を決めましょう。以下、サンプルコードになります。
q = load ""DTC_Opportunity"";
q = foreach q generate date_diff(""week"", toDate(Created_Date_sec_epoch), toDate(Close_Date_sec_epoch) ) as 'Weeks to Close';
q = order q by 'Weeks to Close';
次に商談をどのくらい前に完了させたのかという例を紹介します。それぞれの商談に何ヶ月間かかったのか、時間を測定する間隔をmonthで指定し計算するのです。date2にあたる終了日にはnow()を使用して現在の日付を表しましょう。以下、サンプルコードになります。
q = load ""DTC_Opportunity"";
q = foreach q generate date_diff(""month"", toDate(Close_Date_sec_epoch), now() ) as 'Months Since Close';
q = order q by 'Months Since Close';
DateDiff(date1, date2, string)を使用した例も紹介します。2つの日付の差を求めるサンプルコードになります。日付はあらかじめ用意するサンプルコードです。
dateDiff(01/01/18, 03/05/18, ""MM"")
01/01/18は1月1日18時を表し、03/05/18は、3月5日18時という意味です。MMは日付の月の部分になります。よって、2つの日付の差が2になります。
SalesforceにおけるDateDiffの注意点

SalesforceのDateDiffを活用しよう

この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ
ITエンジニアの派遣を利用したい企業様へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。