AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.05.2011, 11:06   #21  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от mr.ZF Посмотреть сообщение
Вы и lev безусловно правы, одноко помощь коллег из форума помогает мне научиться и понять алгоритм кода, копи-паст это зло, я им стараюсь не пользоваться
ок. вот пример в лоб. тебе этого хватит что бы понять как сгруппировать и просуммировать поля в query.

1. Группировка в Query:
X++:
Query                   query = new Query();
    QueryBuildDataSource    qbdsInventTable;
    ;

    qbdsInventTable = query.addDataSource(tableNum(InventTable));
    qbdsInventTable.addSortField(fieldNum(InventTable, ItemId)); // поле по которому выполняется сортировка/группировка
    qbdsInventTable.orderMode(OrderMode::GroupBy); // указываем какое действие мы хотим делать, сортировать или группировать
2. Суммирование по полю в Query:
X++:
Query                   query = new Query();
    QueryBuildDataSource    qbdsInventTrans;
    ;

    qbdsInventTrans = query.addDataSource(tableNum(InventTrans));
    // в параметрах функции addSelectionField: 
    // 1. поле для выборки из базы
    // 2. Тип действия функции над выбранным полем
    qbdsInventTrans.addSelectionField(fieldNum(InventTrans, Qty), SelectionField::Sum);
3. Группировка + суммирование в Query:
X++:
Query                   query = new Query();
    QueryBuildDataSource    qbdsInventTrans;
    ;

    qbdsInventTrans = query.addDataSource(tableNum(InventTrans));
    // группировка -->
    qbdsInventTrans.addSortField(fieldNum(InventTrans, ItemId));
    qbdsInventTrans.orderMode(OrderMode::GroupBy);
    // группировка <--
    qbdsInventTrans.addSelectionField(fieldNum(InventTrans, Qty), SelectionField::Sum); // суммирование
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: ZornFire (1).
Старый 13.05.2011, 11:38   #22  
Krasher is offline
Krasher
Участник
Аватар для Krasher
 
48 / 37 (2) +++
Регистрация: 14.05.2005
Боюсь, mr.ZF ещё не в том состоянии, что бы на лету разворачивать Query в реальный SQL запрос. Хотя может оно со стороны только кажется.
Старый 13.05.2011, 11:46   #23  
ZornFire is offline
ZornFire
MS Dynamics AX 2012 R3
Аватар для ZornFire
Oracle
Злыдни
Ex AND Project
 
333 / 76 (3) ++++
Регистрация: 12.01.2009
Адрес: Москва
Цитата:
Сообщение от Krasher Посмотреть сообщение
Боюсь, mr.ZF ещё не в том состоянии, что бы на лету разворачивать Query в реальный SQL запрос. Хотя может оно со стороны только кажется.
Это очевидно, я уже писал о том, что я только учусь.
__________________
"Человек человеку волк, а зомби зомби зомби." (с)
С Уважением, Алексей Кабанов
Старый 13.05.2011, 17:26   #24  
Krasher is offline
Krasher
Участник
Аватар для Krasher
 
48 / 37 (2) +++
Регистрация: 14.05.2005
Тогда наверное полезнее будет код без Query:
1. Группировка
X++:
    select ItemId from InventTable
    group by ItemId;
2. Суммирование по полю
X++:
select sum(Qty) from InventTrans;
3. Группировка + суммирование
X++:
select ItemId, sum(Qty) from InventTrans
    group by ItemId;
Ну а со временем станет понятно, что и у lev написано тоже самое. Я так понимаю, пока это не очевидно совсем.
За это сообщение автора поблагодарили: ZornFire (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Универсальный изменятель значений полей wojzeh DAX: Программирование 17 26.09.2013 17:47
Последовательная замена множества уникальных значений на другие без возникновения дубликатов gl00mie DAX: Программирование 23 24.11.2010 15:05
Нужен пример кода для Аксы 3 zZ_TOP_Zz DAX: Программирование 3 28.06.2007 17:34
проблема с настройкой штрихового кода Nic DAX: Функционал 4 27.12.2004 09:04
QueryRange: отбор по сумме значений belugin DAX: Программирование 1 06.08.2004 16:44

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:43.