はじめに
ここではSharperlight Excelアドインを使用してExcelレポートを作成する方法についての記事を書いています。
エクセルでレポートを作成する
折角なのでSharperlightアドインを利用して簡単なレポートを作成してみます。
エクセルを起動して1.セルC5を選択、Sharperlightリボンより2. テーブル
アイコンをクリックしてクエリービルダを起動します。
フィルターの指定
SQL文ではFROM句
とWHERE句
に相当する部分です。
今回は製品
つまりデータソースにDynamics 365 Business Centralを使用します。Company
は<DEFAULT>でいきましょう。
テーブル
には、Cust. Ledger Entryを指定します。
このテーブルを選択すると、Customer No.
と Posting Date
という二つの必須フィルターが自動的に表示されます。今回は二つともそのフィルター値を<ALL>のまま使用します。この二つのフィルターに関しては、どんな値でもいいですよということです。
また、下段左側に選択されたテーブルの列およびJOIN情報がツリー形式で表示されます。
ここから出力に使用する列やフィルターとして使用したい列を選択することになります。
早速、Document No.、Due DateおよびOpen列をドラッグ&ドロップでフィルター領域に設定します。
それぞれの値はこのように指定します。
出力アイテムの指定
SQL文ではSELECT句
に該当する部分です。
選択ツリービューよりダブルクリックあるいはドラッグ&ドロップで、出力領域にクエリ結果として表示したい列を設定します。
今回はこれら三つの列を出力します。Amount
列は更に降順でソートするオプションを付与しました。
プレビューおよび確定
プレビュー
ボタンでクエリを検証してみます。
正常に動いたのでOK
ボタンでエクセル上にデータを展開します。
セルC5にSharperlightの表数式が定義され、すぐ下のセルを起点とした表が作成されました。
セル参照を用いたフィルターの改善
もう少しこのレポートを使い易くします。
セルA3とセルA4にそれぞれ以下のように記入します。またセルB3には<DEFAULT>と記入します。
セルC5をダブルクリックしてクエリ定義を呼び出します。
初めに1. クエリビルダのCompany
フィルターの値フィールドを選択します。次に2. セルB3をダブルクリックします。
セルB3を参照する式が、クエリビルダのCompany
フィルターの値フィールドに設定されます。
同じように、初めに1. クエリビルダのDue Date
フィルターの右側の値フィールドを選択します。次に2. セルB4をダブルクリックします。
セルB4を参照する式が、クエリビルダのDue Date
フィルターの右側の値フィールドに設定されます。
セルB4には、30/06/2022と日付値を設定しておきます。
これでクエリの変更は終了です。クエリビルダのOK
ボタンで変更を反映させます。
これで、セルB3とセルB4に入力された値が、Sharperlightの表数式(クエリ)のフィルタに反映されます。
試しにセルB4をダブルクリックしてみてください。日付選択ダイアログが起動します。
違う日付を選択すると直ぐにクエリの再計算が実行されます。
フィルターセルの背景色を変更したりレポートを整えます。
エクセル標準のThemesを利用します。
おわりに
どうでしょうか、レポート作成が簡単にできそうですね。