function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
吉田 丈治吉田 丈治 

Visualforceページにanalytics:reportChartでグラフを貼り付けた際に実行ユーザを指定したい

ダッシュボードの様に実行ユーザを指定してVisualforceページに貼り付けたレポートを呼び出すことは出来るのでしょうか。
実行ユーザの指定はURLパラメータで指定すれば良いと思うのですが、それを引数にしてfilterをかける事は出来るのでしょうか。
Best Answer chosen by 吉田 丈治
Taiki YoshikawaTaiki Yoshikawa
filterに指定するときのAPI名は通常の名前とは異なります。
商談のStageName → STAGE_NAME

指定するときのAPI名はWorkbenchで確認できます。
https://workbench.developerforce.com/restExplorer.php

ログイン→utilites→REST Explorerで次のAPIを実行します。
/services/data/v37.0/analytics/reports/<Report ID>/describe

reportTypeMetadataでAPI名を確認できます。
User-added image

All Answers

Taiki YoshikawaTaiki Yoshikawa
filterを動的に変更したいということでしょうか。DE組織で試してみたのですがfilterの値は固定文字列で指定する以外にも、String型の変数で指定することが可能となっていました。

例えば次のようにApexクラス側で用意することができます。
public class SampleClass {
    public String filter {get; set;}
    
    public SampleClass() {
        this.filter = '{column:\'STAGE_NAME\', operator:\'equals\', value:\'Prospecting\'}';
        System.debug(filter);
    }
}

ページ側はこんな感じです。
<analytics:reportChart developerName="ProgressOpportunityReport" filter="{!filter}" showRefreshButton="false" cacheResults="true" />

Apexクラス側で用意した変数を利用できるので、URLパラメータをつかった方法も実装できると思います。また、String型変数に正しく文字列をセットしてあげれば複数条件の指定も可能だと思います。
 
吉田 丈治吉田 丈治
Taiki Yoshikawa 様
>filterを動的に変更したいということでしょうか。
まさにその通りです

 '{column:'STAGE_NAME', operator:'equals', value:'Prospecting'}'
 
レポート側では、表示範囲を私のチームのxxxとしてあり、アクセスするユーザによって返ってくる結果が変わります。
Visualforceページのコントローラで指定したオブジェクトを id=xxxxx というURLで呼び出し、そのオブジェクトの所有者によって、設置してあるグラフの表示を動的に変更できないかと考えました。

analytics:reportChartのfilterでそのような事は出来るのでしょうか。
 
Taiki YoshikawaTaiki Yoshikawa
フィルタでできるのは対象のレポートに対して絞込条件を追加することです。レポートに表示されている複数のレコードの内、1件だけを対象としたい場合はIDを条件に指定すれば可能だと思います。
吉田 丈治吉田 丈治
Taiki Yoshikawa 様
理解してきました。試してみたいと思います。ありがとうございます。
吉田 丈治吉田 丈治
頂いたコードを元にフィルタを設定してみたところVisualforceページのグラフ表示ブロック内に、このようなエラーが出ました
[検索条件 1 の場合: CustomObject__c.custom__c が無効です。有効で絞り込み可能な列を指定してください。]

カスタムオブジェクトのカスタム項目で絞り込む場合は
CustomObject__c.custom__c
とかけば良さそうなのですが…
ちなみに、こちら参照項目です。


レポートにも該当の項目は含まれています。
無効と言われる場合はどのような場合でしょうか。
 
Taiki YoshikawaTaiki Yoshikawa
filterに指定するときのAPI名は通常の名前とは異なります。
商談のStageName → STAGE_NAME

指定するときのAPI名はWorkbenchで確認できます。
https://workbench.developerforce.com/restExplorer.php

ログイン→utilites→REST Explorerで次のAPIを実行します。
/services/data/v37.0/analytics/reports/<Report ID>/describe

reportTypeMetadataでAPI名を確認できます。
User-added image
This was selected as the best answer
吉田 丈治吉田 丈治
ありがとうございます!!

/describe

を見逃していました。無事に絞り込み出来るようになりました!!
Mick RonsonMick Ronson
Get instant help on QuickBooks Payroll Support Phone Number 1-855-3OO-1255. Multinational businesses, skilled and small firms use QuickBooks payroll tools to control their accounting jobs and accurately measure financial income, withholding / unemployment expenses, wages, sick or holiday pay and so on. When using this standard program, consumers often experience errors such as payroll tax mistake, data failure, bug fixes, among many others.
Read more: QuickBooks Payroll Support Phone Number
QuickBooks Payroll Support Phone Number
QuickBooks Payroll Support Phone Number
QuickBooks Payroll Support Phone Number