「QueryでSUMを使うには?」の編集履歴(バックアップ)一覧はこちら
「QueryでSUMを使うには?」(2012/03/21 (水) 15:08:29) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
orderMode で OrderMode::GROUPBY を指定し、
addSortField でグループ化したいフィールドを指定する。
※データソースに TestTable が存在していて、
フィールドに Base(string) と Amount(real) を含んでいるとする。
> Query query;
> QueryBuildDataSource qbDataSource;
> ;
> query = new Query(TestTable_ds.query());
> qbDataSource = query.dataSourceName("TestTable");
> /* Base毎に集計 */
> qbDataSource.orderMode(OrderMode::GROUPBY);
> qbDataSource.addSortField(FieldNum(TestTable, Base));
> /* 集計対象をAmoutにする */
> qbDataSource.addSelectionField(fieldnum(TestTable, Amount), SelectionField::SUM);
> /* Baseを横に表示 */
> qbDataSource.addSelectionField(fieldnum(TestTable, Base));
>
> return query;
参考
http://paruvellas.wordpress.com/2008/07/18/dynamics-ax-use-the-arithmetic-functions-with-query-classes/
orderMode で OrderMode::GROUPBY を指定し、
addSortField でグループ化したいフィールドを指定する。
※データソースに TestTable が存在していて、
フィールドに Base(string) と Amount(real) を含んでいるとする。
> Query query;
> QueryBuildDataSource qbDataSource;
> ;
> query = new Query(TestTable_ds.query());
> qbDataSource = query.dataSourceName("TestTable");
> /* Base毎に集計 */
> qbDataSource.orderMode(OrderMode::GROUPBY);
> qbDataSource.addSortField(FieldNum(TestTable, Base));
> /* 集計対象をAmoutにする */
> qbDataSource.addSelectionField(fieldnum(TestTable, Amount), SelectionField::SUM);
> /* Baseも取得 */
> qbDataSource.addSelectionField(fieldnum(TestTable, Base));
>
> return query;
参考
http://paruvellas.wordpress.com/2008/07/18/dynamics-ax-use-the-arithmetic-functions-with-query-classes/