現在の半期の日付で絞り込む

こんにちは、ねこメジェドです。
月1回ブログ書くと宣言しておきながら危うく初回から破りそうになりました。


今回、レポートやビューで使用できる現在の半期の日付のレコードを絞り込む数式についてご紹介します。

はじめに

Salesforceでは相対日付を使用してレポートやリストビューでレコードを絞り込むことができます。
相対日付は、日付に「今月」などの条件を設定しておくと月が変わったら自動で該当するデータを表示してくれるという便利な機能です。
ただ、四半期という概念はありますが、半期(上期・下期)という概念はありません。
今回、数式を使って絞り込めるようにしていきます。

半期で絞り込むってどういうこと?

数式を使用することで現在の半期を判定してtrue,falseを返して判定できるようにします
例. 会計年度は4月始まりとし、4月〜9月が上期、10月〜3月が下期
2021年1月は下期なので2020年10月1日〜2021年3月31日の日付のレコードの場合trueになるように数式を設定します。


作成する数式

項目名: *半期
API名: IsHalfPeriod__c
説明: 現在日付の半期の日付の場合にTrueそれ以外の場合にFalseを返す

※数式内にでてくるDate__cは日付型のカスタム項目になります

IF(
  /* システム日付が4月〜9月の場合 */
  MONTH(TODAY()) >= 4 && MONTH(TODAY()) <= 9,
  IF(
    /* 日付(Date__c)が今年の41日以上かつ今年の101日より小さい場合 */
    Date__c >= DATE(YEAR(TODAY()),4,1) && Date__c < DATE(YEAR(TODAY()),10,1),
    true,
    false
  ),
  IF(
    /* システム日付が1月〜3月の場合 */
    MONTH(TODAY()) <= 3,
    IF(
      /* 日付(Date__c)が昨年の101日以上かつ今年の41日より小さい場合 */
      Date__c >= DATE(YEAR(TODAY()) -1,10,1) && Date__c < DATE(YEAR(TODAY()),4,1),
      true,
      false
    ),
    IF(
      /* システム日付が10月〜12月の場合、日付(Date__c)が今年の101日以上かつ来年の41日より小さい場合 */
      Date__c >= DATE(YEAR(TODAY()),10,1) && Date__c < DATE(YEAR(TODAY() + 1),4,1),
      true,
      false
    )
  )
)

作成した結果

f:id:myanagi13:20210129234013p:plain
作成した結果

条件の設定

f:id:myanagi13:20210129234045p:plain
条件の設定

 

自己紹介&ブログの目的

はじめまして、ねこメジェドと申します。

名前の由来は、目力が強くてエジプトの神様「メジェド神」っぽい + 猫好きからねこメジェドと名付けました。


【経歴】

2007年〜2013年(1社目):SIerJavaを学び2年目からSalesforceの保守や開発を実施

2013年(2社目):初めての転職で社内SEに。スポーツ関連の会社のため体育会系の文化が馴染めず3ヶ月で退社

2014年〜(現在):再びSIerに転職。最初は、Salesforceの開発部署に配属、後にトレーナーや導入支援をし、再び開発部署に配属

 

まとめると、ほぼほぼSalesforceしか触らずに社会人として時が経ち、今に至ります。

 

【ブログの目的】

一言で言うと、「楽がしたい」。

なので、お客様によく聞かれる機能やプロジェクトを進める上で調査した内容をまとめておくことで、少しでも楽するためにアウトプットしていこうと思います。

また、アウトプットを通して、文章能力を向上し少しでも人にわかりやすく説明できるようにしていきたいと思います。