データプロバイダーのグループステートメントの Unique 節はオプションです。Unique 節を使用すると、出力内で重複しないようにする項目属性を指定できます。
これは For Each コマンドにおける Unique 節と同等の機能です。そのため、別の例についてはそちらを参照してください。
ここでは、提示された問題を、Unique 節を使用して解決する例を説明します。
日付ごとの売上高を取得します。この出力は、SalesByDay という SDT コレクションです。Day という名前の各アイテムは、次の 2 つのエレメントを持つ単純な SDT です: Day および Total。
SalesByDay from Invoice Unique InvoiceDate
{
Day
{
Day = InvoiceDate
Total = sum(InvoiceTotal)
}
}
外側のグループ名 (コレクションの名前) または内側のグループ名 (アイテム自体) での、グループベースのトランザクション、Order 節、Where 節などの宣言は、データベースからロードされるデータプロバイダーの反復グループの場合とまったく同じです。つまり、次のようになります:
SalesByDay
{
Day from Invoice Unique InvoiceDate
{
Day = InvoiceDate
Total = sum(InvoiceTotal)
}
}
もう 1 つの例として、order 節を追加し、この節を使用する方法を示します。
SalesByDay
{
Day FROM invoice
order InvoiceDescription
USING dataSelector1(InvoiceDate)
Unique InvoiceDate
{
Day4 = InvoiceDate
Total4 = sum(InvoiceTotal)
}
}
|