コントロールブレイクを使用した集計

GeneXusの5日間の基礎研修を受講した方は「コントロールブレイク」という単語に聞き覚えがあると思います。

コントロールブレイクとは、キー項目を並び替え、キーの値が変わるまで処理を継続することで、キー項目ごとの集計などを実現する手法です。
SQLが発展する以前の時代の用語らしく最近ではあまり聞かないと思いますが、SQLのGroup byをプログラミングで実現するものとイメージしてください。

GeneXusにおけるコントロールブレイクは、For Eachコマンドを同一のベーステーブルで入れ子にすることで実現します。

上記ではProductIdの値が変わったらコントロールブレイクし、ProductId毎にOrderedNumを加算しています。

ビルド時のナビゲーションにコントロールブレイクの実施を表す”Break”が表示されます。

コントローブレイクの例

なお、Unique節を使用しても、コントロールブレイクと同じ結果が得られます。

パフォーマンス的にはUnique節を使用した方が良いはずですが、Unique節が使用できない場面では、コントロールブレイクを使用して集計します。

 

システム開発のご相談はこちらからお気軽にお問合せください。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です