今回は、Sharperlightの拡張表現を使って、下記のようなスライサーを作成してみます。
年度スライサーの作成
Sharperlightアプリケーションメニューからパブリッシャー
を起動し、新規のレポートを作成します。クエリを編集
でクエリビルダを起動し、下図のようなクエリを作成します。
過去十年 DATE -10y
から来年 DATE 1y
までの年度を返すクエリです。
年度は降順ソートを指定します。
出力領域の右クリックから拡張表現を追加を選択します。
拡張表現タブの関数一覧から、スライサー -> Checkbox Filter Slicer -Multiple Filter values as URL parameters
を選びます。
テンプレートが構文エディタに表示されるので、編集を行います。
今回は、年度フィルターのみにするので、下図のように編集します。
編集結果はこうなります。
この拡張表現の説明は、年度とします。
次に、全ての年度を指定できるように、全て
チェックボックスを上記クエリ結果に追加します。
再度出力領域の右クリックから拡張表現を追加を選択します。
編集エディタ領域に下図のような構文を記述します。これは、レポートの最初の行を処理する時点で、一列目に全て
というチェックボックスを作成する構文です。またこの拡張表現は内部的に処理されるので非表示にします。
RowHeader( StartOfReport, "Col:1",
"<input type='checkbox' select='allY' id='CVAll" + DataRowCount() + "'"
+ " value='"
+ "&fltYear=" + UrlEncode("<ALL>")
+ "'>"
+ "<label for='CVAll" + DataRowCount() + "'>"
+ HtmlEncode("全て")
+ "</label>"
,"")
これで出力領域の設定はこのようになります。
早速プレビューでクエリに異常がないかチェックしてみます。エラーはなさそうです。
OK
ボタンでクエリを保存し、さらに適用
ボタンでレポートを保存します。
ビュー
ボタンでレポートを表示してみます。Sharperlightサービスが開始されていることが前提ですね。このような結果になります。
連動させるレポートの作成
SAP Business Oneデータモデルを使用してレポートを作成し、先ほど作成したスライサーと連動させてみます。
パブリッシャーで新規
ボタンを選びレポートの作成を開始します。
クエリを編集
ボタンでクエリビルダを起動します。
モードには概要レポート
、製品にはSAP Bisiness One
、CompanyにはOEC Computers Australia
、そしてテーブルにはG/L Transactions
を指定します。
その他のフィルターで注目すべきものは、Posting Date - Yearです。これにスライサーを連動させます。オプションをこのように設定します。
このYearという名前がスライサーのここと連動しています。
OK
ボタンでクエリを保存、レポートのグループやコード等必要な項目を記入して保存します。
スライサーとレポートの配置
スライサーとそれに連動させるレポートが出来たので、その二つを組み合わせます。
パブリッシャーで新しいレポートを作成します。
オプション
タブの配置
オプションを有効にします。編集
ボタンで配置ダイアログを開きます。
配置ダイアログでは2列表示を指定し、作成したスライサーと連動したレポートを指定します。
配置ダイアログを閉じて、レポートを保存します。
検証
スライサーと連動レポートを配置したレポートをブラウザで開きます。
このようにスライサーが左側、連動したレポートが右側に表示されます。
2013のチェックボックスにチェックを入れてみます。連動したレポートが更新され、2013年のデータのみが表示されます。
以上が簡単なスライサーの作成例でした。
失礼します。