Sharperlightクエリビルダの動的オプションを使用してみます。
このオプションを利用するとフィルター値別に対象となるデータを並列に表示することができます。早速みていきましょう。
カスタム定義のデータセットを使用します。
Sharperlightのアップリケーションメニューからパブリッシャーを起動します。
グループ名とコードを決定したら、[新規]ボタンで新しい公開クエリを作成します。
カスタムデータセットの作成
データベースからデータを取得するのではなく、このサンプル用に簡単なデータセットを作成します。[製品]には、システム。[テーブル]には、カスタム定義のデータセットを指定します。
[データセットを定義]では、下記のデータを設定します。
"Id::Number" , "製品コード::String" , "製品名::String" , "売上日::Date" , "価格::Number" , "数量::Number" , "売上額::Number"
1 , "PT01" , "トースター" , "2022-03-01" , 1980 , 4 , 7920
2 , "PT01" , "トースター" , "2022-03-02" , 1980 , 3 , 5940
3 , "PT01" , "トースター" , "2022-03-03" , 1980 , 4 , 7920
4 , "PT01" , "トースター" , "2022-03-04" , 1980 , 5 , 9900
5 , "PT01" , "トースター" , "2022-03-05" , 1980 , 3 , 5940
6 , "PT01" , "トースター" , "2022-03-06" , 1980 , 1 , 1980
7 , "PT01" , "トースター" , "2022-03-07" , 1980 , 5 , 9900
8 , "PT01" , "トースター" , "2022-03-08" , 1980 , 3 , 5940
9 , "PT01" , "トースター" , "2022-03-09" , 1980 , 4 , 7920
10 , "PT01" , "トースター" , "2022-03-10" , 1980 , 2 , 3960
11 , "PT01" , "トースター" , "2022-03-11" , 1980 , 1 , 1980
12 , "PT01" , "トースター" , "2022-03-12" , 1980 , 5 , 9900
13 , "PT01" , "トースター" , "2022-03-13" , 1980 , 2 , 3960
14 , "PT01" , "トースター" , "2022-03-14" , 1980 , 3 , 5940
15 , "PT01" , "トースター" , "2022-03-15" , 1980 , 2 , 3960
16 , "PT01" , "トースター" , "2022-03-16" , 1980 , 5 , 9900
17 , "PT01" , "トースター" , "2022-03-17" , 1980 , 2 , 3960
18 , "PT01" , "トースター" , "2022-03-18" , 1980 , 1 , 1980
19 , "PT01" , "トースター" , "2022-03-19" , 1980 , 3 , 5940
20 , "PT01" , "トースター" , "2022-03-20" , 1980 , 1 , 1980
21 , "PT01" , "トースター" , "2022-03-21" , 1980 , 2 , 3960
22 , "PT01" , "トースター" , "2022-03-22" , 1980 , 2 , 3960
23 , "PT01" , "トースター" , "2022-03-23" , 1980 , 3 , 5940
24 , "PT01" , "トースター" , "2022-03-24" , 1980 , 3 , 5940
25 , "PT01" , "トースター" , "2022-03-25" , 1980 , 1 , 1980
26 , "PT01" , "トースター" , "2022-03-26" , 1980 , 5 , 9900
27 , "PT01" , "トースター" , "2022-03-27" , 1980 , 5 , 9900
28 , "PT01" , "トースター" , "2022-03-28" , 1980 , 1 , 1980
29 , "PT01" , "トースター" , "2022-03-29" , 1980 , 4 , 7920
30 , "PT01" , "トースター" , "2022-03-30" , 1980 , 4 , 7920
31 , "PT01" , "トースター" , "2022-03-31" , 1980 , 3 , 5940
32 , "PE0123" , "電子レンジ" , "2022-03-01" , 21280 , 2 , 42560
33 , "PE0123" , "電子レンジ" , "2022-03-02" , 21280 , 1 , 21280
34 , "PE0123" , "電子レンジ" , "2022-03-03" , 21280 , 2 , 42560
35 , "PE0123" , "電子レンジ" , "2022-03-04" , 21280 , 2 , 42560
36 , "PE0123" , "電子レンジ" , "2022-03-05" , 21280 , 2 , 42560
37 , "PE0123" , "電子レンジ" , "2022-03-06" , 21280 , 2 , 42560
38 , "PE0123" , "電子レンジ" , "2022-03-07" , 21280 , 2 , 42560
39 , "PE0123" , "電子レンジ" , "2022-03-08" , 21280 , 2 , 42560
40 , "PE0123" , "電子レンジ" , "2022-03-09" , 21280 , 1 , 21280
41 , "PE0123" , "電子レンジ" , "2022-03-10" , 21280 , 2 , 42560
42 , "PE0123" , "電子レンジ" , "2022-03-11" , 21280 , 2 , 42560
43 , "PE0123" , "電子レンジ" , "2022-03-12" , 21280 , 3 , 63840
44 , "PE0123" , "電子レンジ" , "2022-03-13" , 21280 , 2 , 42560
45 , "PE0123" , "電子レンジ" , "2022-03-14" , 21280 , 1 , 21280
46 , "PE0123" , "電子レンジ" , "2022-03-15" , 21280 , 3 , 63840
47 , "PE0123" , "電子レンジ" , "2022-03-16" , 21280 , 3 , 63840
48 , "PE0123" , "電子レンジ" , "2022-03-17" , 21280 , 2 , 42560
49 , "PE0123" , "電子レンジ" , "2022-03-18" , 21280 , 3 , 63840
50 , "PE0123" , "電子レンジ" , "2022-03-19" , 21280 , 3 , 63840
51 , "PE0123" , "電子レンジ" , "2022-03-20" , 21280 , 3 , 63840
52 , "PE0123" , "電子レンジ" , "2022-03-21" , 21280 , 1 , 21280
53 , "PE0123" , "電子レンジ" , "2022-03-22" , 21280 , 2 , 42560
54 , "PE0123" , "電子レンジ" , "2022-03-23" , 21280 , 1 , 21280
55 , "PE0123" , "電子レンジ" , "2022-03-24" , 21280 , 2 , 42560
56 , "PE0123" , "電子レンジ" , "2022-03-25" , 21280 , 1 , 21280
57 , "PE0123" , "電子レンジ" , "2022-03-26" , 21280 , 2 , 42560
58 , "PE0123" , "電子レンジ" , "2022-03-27" , 21280 , 2 , 42560
59 , "PE0123" , "電子レンジ" , "2022-03-28" , 21280 , 3 , 63840
60 , "PE0123" , "電子レンジ" , "2022-03-29" , 21280 , 3 , 63840
61 , "PE0123" , "電子レンジ" , "2022-03-30" , 21280 , 2 , 42560
62 , "PE0123" , "電子レンジ" , "2022-03-31" , 21280 , 1 , 21280
63 , "PLTV523" , "テレビ" , "2022-03-01" , 81280 , 5 , 406400
64 , "PLTV523" , "テレビ" , "2022-03-02" , 81280 , 1 , 81280
65 , "PLTV523" , "テレビ" , "2022-03-03" , 81280 , 3 , 243840
66 , "PLTV523" , "テレビ" , "2022-03-04" , 81280 , 4 , 325120
67 , "PLTV523" , "テレビ" , "2022-03-05" , 81280 , 5 , 406400
68 , "PLTV523" , "テレビ" , "2022-03-06" , 81280 , 2 , 162560
69 , "PLTV523" , "テレビ" , "2022-03-07" , 81280 , 5 , 406400
70 , "PLTV523" , "テレビ" , "2022-03-08" , 81280 , 1 , 81280
71 , "PLTV523" , "テレビ" , "2022-03-09" , 81280 , 1 , 81280
72 , "PLTV523" , "テレビ" , "2022-03-10" , 81280 , 2 , 162560
73 , "PLTV523" , "テレビ" , "2022-03-11" , 81280 , 1 , 81280
74 , "PLTV523" , "テレビ" , "2022-03-12" , 81280 , 5 , 406400
75 , "PLTV523" , "テレビ" , "2022-03-13" , 81280 , 5 , 406400
76 , "PLTV523" , "テレビ" , "2022-03-14" , 81280 , 1 , 81280
77 , "PLTV523" , "テレビ" , "2022-03-15" , 81280 , 1 , 81280
78 , "PLTV523" , "テレビ" , "2022-03-16" , 81280 , 1 , 81280
79 , "PLTV523" , "テレビ" , "2022-03-17" , 81280 , 2 , 162560
80 , "PLTV523" , "テレビ" , "2022-03-18" , 81280 , 5 , 406400
81 , "PLTV523" , "テレビ" , "2022-03-19" , 81280 , 3 , 243840
82 , "PLTV523" , "テレビ" , "2022-03-20" , 81280 , 1 , 81280
83 , "PLTV523" , "テレビ" , "2022-03-21" , 81280 , 4 , 325120
84 , "PLTV523" , "テレビ" , "2022-03-22" , 81280 , 4 , 325120
85 , "PLTV523" , "テレビ" , "2022-03-23" , 81280 , 2 , 162560
86 , "PLTV523" , "テレビ" , "2022-03-24" , 81280 , 5 , 406400
87 , "PLTV523" , "テレビ" , "2022-03-25" , 81280 , 1 , 81280
88 , "PLTV523" , "テレビ" , "2022-03-26" , 81280 , 2 , 162560
89 , "PLTV523" , "テレビ" , "2022-03-27" , 81280 , 4 , 325120
90 , "PLTV523" , "テレビ" , "2022-03-28" , 81280 , 4 , 325120
91 , "PLTV523" , "テレビ" , "2022-03-29" , 81280 , 5 , 406400
92 , "PLTV523" , "テレビ" , "2022-03-30" , 81280 , 2 , 162560
93 , "PLTV523" , "テレビ" , "2022-03-31" , 81280 , 2 , 162560
出力アイテムの設定
ここでは、クエリ結果をデザインします。
[選択]領域から売上日と売上額を出力アイテムとして設定します。このクエリは概要レポートとして定義されているので、売上額にはSum(合計)オプションが自動設定されます。
ここまでは、通常のクエリ設定です。プレビュー機能で結果を見ると、このような結果が表示されます。
では動的出力オプションを使用して、日々の製品名別の売上額を表示してみます。
クエリ定義に戻り、選択領域の製品名をフィルター領域にドラッグします。フィルター値に<ALL>
を設定(全製品を取得)します。このフィルターで絞り込まれる製品名別に売上額が表示されます。
今回は<ALL>
としたので全ての製品が対象です。
出力領域の売上額をダブルクリックして、出力オプションダイアログを開きます。
[関数]タブ上の、この出力領域にフィルターを適用オプションの製品名にチェックを入れます。こうすることで売上額に対して、フィルターである製品名が適用されるようになります。
次に、売上日に対して並列で製品別の売上額を表示したいので、チェックを入れた製品名を選択した状態で、[動的出力として設定]ボタンをクリックします。
[OK]ボタンを押して、設定を保存します。プレビューで動作確認してみます。このような結果となります。
動的出力オプションにより、一日の売上額の製品別内訳が把握できるようになります。
付け足しとして、一日の売上総額も同列最右列に表示してみましょう。これにはサブクエリを使用して総額を取得します。
基本的には各行の売上日をサブクエリのフィルターとして渡し、売上合計を返すように設定します。
定義したサブクエリの説明を売上額/日とします。
動作確認するとこのようになります。
Sharperlight