You need to sign in to do that
Don't have an account?
kkurahashi
レポートで環境変数的なものを用いるには?
いつもお世話になっております。
#慣用句的な意味ではなく本当に
例えば、以下のような項目の売上レポートを出力するとします。
・営業担当者 前月までの累計 当月合計 注残
当月だけであればレポートの「期間条件」で注文日などでフィルタリングすれば
いいのですが、同じ行で「前月までの累計」と「注残」にも対応しなければなりません。
今日の日付に連動するレポートであれば、
if (month(today()) > month(orderDate__C)
のような条件付きで数式項目を組み込めば済むのですが、任意の時点で任意の
月のレポートを出力する必要があります。
レポートの期間条件のところにプルダウンメニューなど出てくれれば最高ですが、
それは無理として… 数式項目から参照できる環境変数的なものを使う方法は
ありますでしょうか。
ご教示いただければ幸いに存じます。
レポートの条件をURLパラメータで生成する事ができる事を発見しました :smileytongue:
https://ap.salesforce.com/<レポートID>?pc0=<レポートの項目名>E&pn0=<条件>&pv0=<検索する値>
事前に商談のカスタムレポートを条件なしで作成しておきます。
例えば以下の条件
レポートID(作成したレポートのID):00O10000001JzgN
条件(文字列を含む):co
検索する値:Salesforce
とすると以下のようなURLになります。
https://ap.salesforce.com/00O10000001JzgN?pc0=OPPORTUNITY_NAME&pn0=co&pv0=Salesforce
で商談名に「Salsforce」という文字列を含んだ商談の一覧がレポートで表示されました。
pc0,pn0,pv0 の「0」 の数字を pc1,pn1,pv1 とするとさらに条件が追加できるようです。
条件の一覧は以下が有効と思われます。
eq=「次の文字列と一致する」
ne=「次の文字列と一致しない」
lt=「<」
gt=「>」
le=「<=」
ge=「>=」
co=「次の文字列を含む」
nc=「次の文字列を含まない」
sw=「次の文字列で始まる」
in=「次の値を含む」
ex=「次の値を含まない」
※レポートを作成するウィザード画面のHTMLに出力されている
上記で記述したレポートの項目名は標準オブジェクトはオブジェクト名とは別でレポートを作成するウィザード画面のHTML内に出力されているものを指定らしいです。
ただ日付型はうまく動かないようです。。。:smileysad: おそらくテキストなどに変換したものに対してパラメータ検索するなどの
対応が必要と思われます。
All Answers
…「対象月」という数式項目を作り、数式として「3」など出力対象とする月を定数でセットする、
という方法を思いつきましたが、さすがにそれは最後の手としてとっておきたいと思います。
レポートの条件をURLパラメータで生成する事ができる事を発見しました :smileytongue:
https://ap.salesforce.com/<レポートID>?pc0=<レポートの項目名>E&pn0=<条件>&pv0=<検索する値>
事前に商談のカスタムレポートを条件なしで作成しておきます。
例えば以下の条件
レポートID(作成したレポートのID):00O10000001JzgN
条件(文字列を含む):co
検索する値:Salesforce
とすると以下のようなURLになります。
https://ap.salesforce.com/00O10000001JzgN?pc0=OPPORTUNITY_NAME&pn0=co&pv0=Salesforce
で商談名に「Salsforce」という文字列を含んだ商談の一覧がレポートで表示されました。
pc0,pn0,pv0 の「0」 の数字を pc1,pn1,pv1 とするとさらに条件が追加できるようです。
条件の一覧は以下が有効と思われます。
eq=「次の文字列と一致する」
ne=「次の文字列と一致しない」
lt=「<」
gt=「>」
le=「<=」
ge=「>=」
co=「次の文字列を含む」
nc=「次の文字列を含まない」
sw=「次の文字列で始まる」
in=「次の値を含む」
ex=「次の値を含まない」
※レポートを作成するウィザード画面のHTMLに出力されている
上記で記述したレポートの項目名は標準オブジェクトはオブジェクト名とは別でレポートを作成するウィザード画面のHTML内に出力されているものを指定らしいです。
ただ日付型はうまく動かないようです。。。:smileysad: おそらくテキストなどに変換したものに対してパラメータ検索するなどの
対応が必要と思われます。
LovelyWankoさん、
これはこれは、美しい解決策をありがとうございます。
定数設定のためのレコードタイプなどを定義しなくても済みます。
さっそく行き詰っていたレポート、無事実装できました。
ありがとうございました。
すみません、こちらで紹介されている解決策について質問させてください。
書かれている方法で条件付きレポートのURLを指定してみるのですが、
『このURLは、現在存在しません。』というメッセージが出て上手くいきません。
どなたか同じ症状の方はいらっしゃいますか?
また同症状が出て解決された方はいらっしゃいますか?
レポートIDやインスタンス名は正しく指定できているでしょうか?
サンプルで言うと
https://<インスタンス名>.salesforce.com/<レポートID>?pc0=OPPORTUNITY_NAME&pn0=co&pv0=Salesforce
の部分です。
もっと言うと上記のようなフルパスではなく、相対パスで書けばインスタンス名を気にする必要がなくなるので、そちらをお勧めします。
相対パスは下記のようにsalesforce.com以降から書きます。
/<レポートID>?pc0=OPPORTUNITY_NAME&pn0=co&pv0=Salesforce
ikouさん
何卒よろしくお願いいたします。
<レポートの項目名>はAPI参照名ではなく、もっと内部的なIDのことですね。
サンプルでは標準項目の「商談名」なので分かりやすく「OPPORTUNITY_NAME」となっていますが、
カスタム項目であれば「00N8000000XXXXX」のようなSalesforceIDになります。
カスタム項目のSalesforceIDを確認するには、設定からカスタム項目の参照画面を表示するとURLに入っています。
例えば私の環境で商談のカスタム項目を見るとこんな感じです。
https://na6.salesforce.com/00N8000000XXXXX?setupid=OpportunityFields
つまりレポートへのURLとしては下記のような感じになります。
/<レポートID>?pc0=00N8000000XXXXX&pn0=co&pv0=Salesforce
早速のご回答ありがとうございました。
解決しました!!!
自分なりに色々思考錯誤しながらやってみましたが、中々うまく行かなくて本当に困っていました。
ありがとうございます。質問してよかったです。
これからももっともっと勉強したいと思います。
本当にありがとうございました。
こんにちは。
レポートを組むときに、複数の検索条件
例えば:(1 OR 2) AND 3
1.顧客名=A
2.顧客名=B
3.性別=女
というように指定したいのですか。
よろしくお願い致します。
ご教示いただければ幸いに存じます。
レポートの編集画面から「条件の追加」を行ってください。
その後「条件ロジック」の変更でANDやORを指定できます。