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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.06.2006, 12:26   #1  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Я может чего не понимаю, но в чём проблема??? С выводем в Excel или с группировкой? Или и с тем, и с другим? Используйте group by или order by наконец
для группировки Что Вы имеете в виду под словом "группировка"? Я не смогу например вам помоч, не зная почему у вас не выходит группировка.
С уважением - Sada...
Старый 05.06.2006, 12:35   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Thumbs up
Давайте просто перейдем уже к более конкретным полям, запросам, таблицам.

И я обычно сначала группирую, а потом эти данные заполняю во временную таблицу. Иначе, какой из нее толк?

Обычно делается цикл по всем строкам нужным, и добавляются переменные, в которые суммируются необходимые группировки, и записываются и обнуляются при изменении поля, по которому группировка.

Тогда у нас сразу во временной таблице готовые данные получаются, и их тупо надо вывести в Эксель.
Старый 05.06.2006, 12:48   #3  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
Цитата:
Сообщение от kashperuk
Давайте просто перейдем уже к более конкретным полям, запросам, таблицам.

И я обычно сначала группирую, а потом эти данные заполняю во временную таблицу. Иначе, какой из нее толк?

Обычно делается цикл по всем строкам нужным, и добавляются переменные, в которые суммируются необходимые группировки, и записываются и обнуляются при изменении поля, по которому группировка.

Тогда у нас сразу во временной таблице готовые данные получаются, и их тупо надо вывести в Эксель.
то есть Вы группировку делаете посредством аксаптовского запроса?? я в моем случае в запросе учитываю только фильтры, вот как на данный момент выглядит мой запрос:

q=new Query();
qr=new QueryRun(q);
qbds=qr.query().addDataSource(tablenum(InventTable));
qr.query().dataSourceTable(tablenum(InventTable)).relations(false);

q1=new Query();
qr1=new QueryRun(q1);
qbds1=qr1.query().addDataSource(tablenum(InventSum));
qbds1.addSortField(fieldnum(InventSum,InventDimId));
qbds1.addSortField(fieldnum(InventSum,LastUpdDatePhysical));
qbds1.orderMode(OrderMode::GroupBy);
qbds1.addSelectionField(fieldnum(InventSum,LastUpdDatePhysical),SelectionField::Max);
qbds1.addSelectionField(fieldnum(InventSum,InventDimId),SelectionField:atabase);
qbds1.addSelectionField(fieldnum(InventSum,ItemId),SelectionField:atabase);
qbds1.addSelectionField(fieldnum(InventSum,PostedQty),SelectionField::Sum);
qbds1.addSelectionField(fieldnum(InventSum,Received),SelectionField::Sum);
qbds1.addSelectionField(fieldnum(InventSum,Deducted),SelectionField::Sum);
qbds1.addSelectionField(fieldnum(InventSum,Picked),SelectionField::Sum);
qbds1.addSelectionField(fieldnum(InventSum,Registered),SelectionField::Sum);
qbds1.addSelectionField(fieldnum(InventSum,PostedValue),SelectionField::Sum);
qbds1.addRange(fieldnum(InventSum, ItemId));
qbds1.addRange(fieldnum(InventSum,LastUpdDatePhysical)).value(".."+Fdate.valueStr());
qr1.query().dataSourceTable(tablenum(InventSum)).addDataSource(tablenum(InventDim));
qr1.query().dataSourceTable(tablenum(InventDim)).joinMode(joinMODE::InnerJoin);
qr1.query().dataSourceTable(tablenum(InventDim)).addLink(fieldnum(InventDim,InventDimId),fieldnum(InventSum,InventDimId));

qr.query().dataSourceNo(1).clearRanges();
if (TMC.valueStr()!='')
qr.query().dataSourceNo(1).addRange(fieldnum(InventTable,ItemId)).value(TMC.valueStr());
if (GroupTMC.valueStr()!='')
qr.query().dataSourceNo(1).addRange(fieldnum(InventTable,ItemGroupId)).value(GroupTMC.valueStr());

qr.init(); //запрос по таблицам InventSum и InventTable
while (qr.next())
{
it = qr.get(tablenum(InventTable));
qr1.query().dataSourceNo(2).clearRanges();
qr1.query().dataSourceNo(1).FindRange(fieldnum(InventSum, ItemId)).value(it.ItemId);
//накладываем основные ограничения-фильтры для 2-го запроса (по склад. аналитикам)
if (Sklad.valueStr()!='')
qr1.query().dataSourceNo(2).addRange(fieldnum(InventDim,InventLocationId)).value(Sklad.valueStr());
if (MOL.valueStr()!='')
qr1.query().dataSourceNo(2).addRange(fieldnum(InventDim,InventMOLId)).value(MOL.valueStr());
if (Batch.valueStr()!='')
qr1.query().dataSourceNo(2).addRange(fieldnum(InventDim,InventBatchId)).value(Batch.valueStr());
//выполняем 2-ой запрос по складским аналитикам
qr1.init();
While (qr1.next())
{
..........
}

в данном случае тут 2 запроса, один по InventTable, результаты которого передаются во 2-ой запрос в качестве ограничения по таблице InventSum
За это сообщение автора поблагодарили: raniel (1).
Старый 05.06.2006, 12:43   #4  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
Цитата:
Сообщение от Sada
Я может чего не понимаю, но в чём проблема??? С выводем в Excel или с группировкой? Или и с тем, и с другим? Используйте group by или order by наконец
для группировки Что Вы имеете в виду под словом "группировка"? Я не смогу например вам помоч, не зная почему у вас не выходит группировка.
С уважением - Sada...
сначала написал запрос по таблице InventSum выдающий необходимую информацию с учетом заданных фильтров (если они заданы), результаты этого запроса тупо поочереди забиваются во врем. таблицу, т.е. скажем

делаю фильтрацию по группе номенклатуры (выбираю какую нить группу), указываю что данные в отчете должны быть сгруппированы например по складу, так вот в результате запроса данные выдаются без группировки (в запросе учитывается только указанные фильтры) я их поочередно загоняю в таблицу, в результате имеем таблицу со всеми ТМЦ из указанной номенклатурной группы. теперь эти данные надо сгруппировать по складу и выдать в ексель!!!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Excel, группировки: как программно изменить расположение итоговых данных? CDan DAX: Программирование 5 29.08.2008 18:14
Невозможно выполнить команду языка определения данных в () iHomer13 DAX: Программирование 8 18.07.2008 10:56
Источники данных в отчетах Valia DAX: Программирование 1 24.07.2003 05:10
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

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

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

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