Sharperlightクエリビルダではユニオンクエリを作成できます。そしてクエリ結果は親クエリ、追加したユニオンクエリの順番に出力されます。
このように定義されている場合、
戻ってくるデータセットの順番は、親クエリの出力、ユニオンクエリの定義された順番に応じた出力といった形になります。
なので、それらをひとつのデータセットと見なし、ある列にソートをかけることはできません。
でもソートしたい場面に多く遭遇します。ではどうするかというと。。。
Sharperlightパブリッシャーで作成するレポートのクエリとしてユニオンクエリを作成します。それとは別に新たなレポートを作成し、そのレポートのクエリのデータソースとして、ユニオンクエリをもつレポートを使用するといった使い方をします。
ではここにユニオンクエリがあります。今回はカスタムデータ定義を利用し疑似データを作成しました。
親クエリはコードがTKO
という支店のデータセットを返してきます。
ひとつだけ追加したユニオンクエリは、コードがOSK
という支店のデータセットを返してきます。
最終出力結果はこのようになっています。グローバルコード
でソートをかけようとしても、データ全体に対してかけることができません。
そこで、新たに別のレポートを準備します。そのレポートのクエリでユニオンクエリを使用します。
カスタム定義のデータセットで、_Publisher={グループ名}.{コード}
という形式で(公開クエリ)レポートを呼びます。
全列を出力します。
出力列のオプションダイアログで、グローバルコード列にソートを設定します。
プレビューしてみます。どうですか?親クエリとユニオンクエリの結果がひとつのデータセットとして扱われています。
ユニオンクエリからのデータセットをひとつのデータセットとして扱う場合の方法は、これだけではなくカスタムテーブルを準備するといった方法等もあります。
では、失礼します。