はじめに
ここでは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を利用します。


おわりに
どうでしょうか、レポート作成が簡単にできそうですね。