via pixabay.com
はじめに
Salesforceでレポートを表示する際、常に同じ検索条件になるとは限りません。
さまざまな条件に対応できる、動的なレポートが必要になる場面があるかと思います。
例)
・レコード表示をしている商談の担当者が所有する商談をすべて表示させたい
・↑上記に加え、レコード表示している商談と同じフェーズの商談のみ表示させたい
こうした検索条件を柔軟に設定するために、SalesforceではレポートのURLパラメーターを使うことができます。
今回は、上記の例を基にURLパラメーターの書き方を紹介します。
さまざまな条件に対応できる、動的なレポートが必要になる場面があるかと思います。
例)
・レコード表示をしている商談の担当者が所有する商談をすべて表示させたい
・↑上記に加え、レコード表示している商談と同じフェーズの商談のみ表示させたい
こうした検索条件を柔軟に設定するために、SalesforceではレポートのURLパラメーターを使うことができます。
今回は、上記の例を基にURLパラメーターの書き方を紹介します。
Lightning/Classicの違い
Lightning Experienceのレポート実行とClassic でのレポート実行では、パラメーターの書き方が異なります。
Classic向けに作成したパラメーターをLightningで開いてみたら、上手く条件指定ができなかったという経験がある方もいらっしゃるかもしれません。
レポートのURLパラメーターでは、Lightning/Classicでリンクを使い分ける必要があります。
Classic向けに作成したパラメーターをLightningで開いてみたら、上手く条件指定ができなかったという経験がある方もいらっしゃるかもしれません。
レポートのURLパラメーターでは、Lightning/Classicでリンクを使い分ける必要があります。
レポートの準備
それでは、リンクを作成してみましょう。
まず、リンク先のレポートに、あらかじめレポートの条件を設定しておきます。
例)
レポート条件①所有者
レポート条件②フェーズ
値は、レコードから入るためここではデフォルト値を記入しておきます。
まず、リンク先のレポートに、あらかじめレポートの条件を設定しておきます。
例)
レポート条件①所有者
レポート条件②フェーズ
値は、レコードから入るためここではデフォルト値を記入しておきます。
リンクの準備
レコードページに動的なレポートのリンクを載せるには主に3つの方法があります。
・カスタムリンク
・カスタム項目(データ型:URL)
・カスタム項目(データ型:数式)※数式にHYPERLINK関数を使用
今回は、Lightning用/Classic用それぞれのカスタムリンクを作成します。
使用用途に合わせてリンクの作成方法を決定します。
・カスタムリンク
・カスタム項目(データ型:URL)
・カスタム項目(データ型:数式)※数式にHYPERLINK関数を使用
今回は、Lightning用/Classic用それぞれのカスタムリンクを作成します。
使用用途に合わせてリンクの作成方法を決定します。
Lightningでのパラメーターの書き方
条件は、fv0(レポート条件①), fv1(レポート条件②), fv2(レポート条件③)…の順番で指定できます。
また、各条件は「&fv0={!参照内容}&fv1={!参照内容} …」とつなげることで複数条件を設定できます。
例)
URLの全体は以下のようになります。
https://各環境のドメイン/lightning/r/Report/レポートID/view?queryScope=userFolders&fv0={!Opportunity.OwenerName__c}&fv1={!Opportunity.StageName}
条件1:所有者の名前
※パラメータではクロス条件(関連オブジェクト項目)を指定できないため、今回は所有者の名前を返す数式(OwnerName__c)を作成し、パラメーターに入れてあります。
条件2:フェーズの値
さて、実際にレポートを表示させてみましょう。
以下のように所有者が同じで、フェーズが「プロスペクト」の商談が2件あります。
また、各条件は「&fv0={!参照内容}&fv1={!参照内容} …」とつなげることで複数条件を設定できます。
例)
URLの全体は以下のようになります。
https://各環境のドメイン/lightning/r/Report/レポートID/view?queryScope=userFolders&fv0={!Opportunity.OwenerName__c}&fv1={!Opportunity.StageName}
条件1:所有者の名前
※パラメータではクロス条件(関連オブジェクト項目)を指定できないため、今回は所有者の名前を返す数式(OwnerName__c)を作成し、パラメーターに入れてあります。
条件2:フェーズの値
さて、実際にレポートを表示させてみましょう。
以下のように所有者が同じで、フェーズが「プロスペクト」の商談が2件あります。
レポートへのカスタムリンクを押下すると、2件の商談が表示されます。
Classicでのパラメーターの書き方
カスタムリンクの作成はLightningと変わりませんが、Classicではパラメーターの書き方が変わります。
まず、条件は、fv0(レポート条件①), fv1(レポート条件②), fv2(レポート条件③)…の順番で指定できます。
また、各条件は「&pv0={!参照内容}&pv1={!参照内容} …」とつなげることで複数条件を設定できます。
例)
URLの全体は以下のようになります。
/レポートのID?pv0={!Opportunity.OwenerName__c}&pv1={!Opportunity.StageName}
条件の設定内容はLightning用リンクと同じものになります。
実際にレポートを表示させてみます。
こちらはClassic用のカスタムリンクなので、Classicの画面からリンクを開きます。
まず、条件は、fv0(レポート条件①), fv1(レポート条件②), fv2(レポート条件③)…の順番で指定できます。
また、各条件は「&pv0={!参照内容}&pv1={!参照内容} …」とつなげることで複数条件を設定できます。
例)
URLの全体は以下のようになります。
/レポートのID?pv0={!Opportunity.OwenerName__c}&pv1={!Opportunity.StageName}
条件の設定内容はLightning用リンクと同じものになります。
実際にレポートを表示させてみます。
こちらはClassic用のカスタムリンクなので、Classicの画面からリンクを開きます。
こちらにも所有者が同じで、フェーズが「プロスペクト」の商談が2件表示されます。
最後に
いかがだったでしょうか。
Salesforceの標準設定だけで簡単にリンクを作成できますので、ぜひ試してみてください。
Salesforceの標準設定だけで簡単にリンクを作成できますので、ぜひ試してみてください。