はじめに
パブリッシュドレポート(WEBレポート)を使用してカスタムHTMLページを作成する際、ユーザーに値を入力させ、それらをカスタムHTMLに渡したい場合があります。
その場合、コントロールタグを使用してクエリのフィルター項目を参照することができます。
パブリッシュドレポート(WEBレポート)のクエリで定義されたフィルターは、レポートがブラウザーに表示される際にはプロンプトとして機能し、ユーザーがその値を選択できるようになります。
実践
ここでは、フィルターの値を表示するためのテーブル要素と、選択した会社を表示するためのdiv要素が準備されています。
注:このスクリプトではjQueryが使用されており、上の画像でjQueryライブラリが参照されていることがわかります。jQueryライブラリはSharperlightにバンドルされています。
ご覧の通り、コントロールタグがあります。
{*Filter[@<<フィルター項目の名前をここに記入>>]1}
実行時に、コントロールタグは対応する値で置き換えられます。
- {*Filter[@DocumentInternalID]1} は、「DocumentInternalID」という名前のフィルター項目を参照し、「1」は「FROM」を意味し、「2」は「TO」を意味します
- {*Filter[@CustomerCode]1} は、「CustomerCode」という名前のフィルター項目を参照し、「1」は「FROM」を意味し、「2」は「TO」を意味します
- {*Filter[@YearPeriodCode]1} は、「YearPeriodCode」という名前のフィルター項目を参照し、「1」は「FROM」を意味し、「2」は「TO」を意味します
- {*Filter[@Canceled]1} は、「Canceled」という名前のフィルター項目を参照し、「1」は「FROM」を意味し、「2」は「TO」を意味します
- {*Filter[@DocumentDate]1} は、「DocumentDate」という名前のフィルター項目を参照し、「1」は「FROM」を意味し、「2」は「TO」を意味します
ページが読み込まれると、スクリプトが実行され、選択した会社がdiv要素に表示されます。
表示されている「Document Date」の値を見てください。「TO」の値は、フォーマット付きのコントロールタグが使用されているため、フォーマットされています。
あとがき
これは、ユーザーに値を入力させ、それをカスタムHTMLに渡したい場合に役立ちます。
フィルター項目の名前はコントロールタグで使用されます。
レポートがカスタムHTMLの場合、クエリは1行のみを返すように設計する必要があることに注意してください。最初の行のみが有効と見なされます。
クエリは複数行を返すように設計できますが、そうすると最初の行のみが有効と見なされ、他の行は無視されますが、パフォーマンスが低下する可能性があります。