Parent and Prior Group Valueを使って経時的な傾向をつかむ方法


+ [How I Solved This: Use Parent and Prior Group Value Formulas to Identify Trends Over Time](https://admin.salesforce.com/blog/2022/how-i-solved-this-use-parent-and-prior-group-value-formulas-to-identify-trends-over-time)


Campfire の計画チームは、スプレッドシートでデータを管理するのが困難だったため、勘に基づいてスケジュールを作成し、計画を立てることがよくありました。これにより、時間の経過とともに傾向を特定することが難しくなりました。あるスプレッドシートから別のスプレッドシートにデータをコピーし、多数の数式を更新して、前年との出席率の違いを確認する必要がありました。カウンセラーが手動でデータを入力するのを待っているため、毎月の出席情報は常に遅れていました。彼らはまた、各月の出席が 1 年間の合計出席率にどのように影響するかについても興味を持っていました。

Salesforce レポートで以Previous Group Value と Parent Group Value の概要式の行(Previous Group Value and Parent Group Value Summary Formula rows )を使用すると、Campfire 計画チームはまったく新しい方法でデータを確認できます。


これらの数式は、少なくとも 1 つのグループ化された値を持つレポートで使用します。出席を年別および月別にグループ化して表示するレポートの作成から始めましょう。

# 1. 2 つ目の日付フィールドを作成する

レポートを年と月の両方でグループ化するには、レポートするフィールドと同じ値を含む 2 つ目の日付フィールドが必要です。これを行う最も簡単な方法は、元の日付の値を返す数式項目を作成することです。私は自分のフィールドを「Date2」と呼び、どのページ レイアウトにも含めませんでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/49940d87-2db1-326f-e339-88d288465410.png)


# 2. マトリックス レポートを作成する

マトリックス レポートは、行と列の両方でグループ化されます。Date2 フィールドで行をグループ化します。行をグループ化したら、グループ列フィールドを追加できます。元の日付フィールドで列をグループ化します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/419c3662-ea24-9fac-f81d-3fb5a20c233e.png)

これらの日付をグループ化する方法を定義するには、レポートのヘッダーにあるフィールドの横にある矢印をクリックし、[ Group Date By… ] を選択します。グループ化された行にはCalendar Yearを選択し、グループ化された列には Year の Calendar Month を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/a3708a2e-a4c3-4aa4-99a8-21fbeffeea69.png)


これで、最初に暦年でグループ化され、次に月でグループ化されたマトリックス レポートが作成されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/80ea98ea-525a-0ec7-3fd3-77da2b50699e.png)

キャンパー数、定員、平均出席率などのフィールドを追加しました。これらのフィールドは、計画チームに毎月の出席に関する何らかのコンテキストを提供します。

# 3.集計式列を作成する 

これで、PREVGROUPVAL を使用する準備が整いました。左側のナビゲーションの [列] ヘッダーの横にある矢印をクリックし、 [集計式の追加]を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/4ae4fa7e-363b-80f6-82d6-172ca17481ea.png)


列に名前を付けます。私は「Diff by Month」と名付けました。出力タイプを数値に設定します。左側のナビゲーションで [関数]を選択し、[前へ] の検索を開始し、[ PREVGROUPVAL ] を選択して [挿入] をクリックします。数式を更新して、現在のキャンパー数の合計を取得し、そこから前のグループ(前の月)のキャンパー数を差し引きます。私の数式は次のようになります。

```
Camp_Attendance__c.Number_of_Campers__c:SUM -
PREVGROUPVAL(Camp_Attendance__c.Number_of_Campers__c:SUM,
Camp_Attendance__c.Date__c)
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/02d3aeaa-7ff1-099c-2c07-5a8ee6586375.png)

式を検証したことを確認してから、[表示] をクリックして、式を適用する場所を定義します。レポートのグループ化で割り当てたのと同じように、[特定のグループ] を選択してから、[行グループ] に [日付2] フィールドを選択し、[列グループ] に [日付] フィールドを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/a2cc26d5-ad64-e507-14dc-ba2e39fc4641.png)


# 4.グラフを追加して変化を視覚化する

グラフを追加すると、ユーザーはこれらの変化を月ごとに視覚化できます。このレポートは 10 月末に実行されたため、Campfire セッションがまだ行われていないため、11 月に急激な減少に気付くでしょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/e261945a-56f3-b22f-7573-55b3cb1dff22.png)


計画チームは、毎月のデータと昨年のデータをリアルタイムで比較できることに非常に興奮しています。

# 5. グループ化されたレポートを作成する

次のレポートの課題では、親グループの値を使用して、各月の出席が年間合計にどのように寄与しているかを確認します。昨年の出席レコードのみを含めるようにフィルタリングします。これは、合計出席の絶えず変化する変数と比較しているため、今年のデータが歪んでしまうためです。

引き続き Date および Date2 フィールドでグループ化しますが、今回は両方とも行レベルで行います。Date2 は暦年でグループ化され、Date は Year の暦月でグループ化されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/1e894c28-9494-1502-9ba8-b57aaed510df.png)


# 6. 集計項目列を作成する

[パーセント出力] オプションを使用して、別の集計項目列を作成します。今回は、これを「年間出席率」と呼びます。

親グループ値は、式を含むレベルより上のレベルのグループ化の値を返します。この例では、式は 1 か月のキャンパー数を取り、キャンパー数の年間合計で割っています。この使用例の式は次のとおりです。

```
Camp_Attendance__c.Number_of_Campers__c:SUM /
PARENTGROUPVAL(Camp_Attendance__c.Number_of_Campers__c:SUM,
Camp_Attendance__c.Date2__c)
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/3037c69d-9dfe-826b-450f-2cc6b07a01d3.png)


式を適用する場所を更新することを忘れないでください。親グループの値を使用する場合、式を特定のグループに適用し、レポートで定義した下位グループを選択する必要があります。この場合は、日付フィールドです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/aa123109-aa26-beb2-636b-460c9b130c8b.png)



# 7. レポートを実行してください。


各月に記録された年間総出席者数を確認できるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/c237fc8d-b89f-1a3a-a2d2-069ae8d2f85b.png)