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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.09.2009, 12:41   #1  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
887 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Повезло Вам, что он вообще заработал ...
Хотите группировку по полям InvnetTransPosting ?
Тогда извольте и dsForInventTransPostingPhysical'у указать sortMode аналогично InventTrans'у. И поле для группировки добавлять на нем, а не InventTrans'е (именно тут повезло, что у InventTrans'а оказалось поле с таким же кодом, как у Dimension[1] у InventTransPosting - обратите внимание group by InventTrans.InvoiceId, который Вы вообще не добавляли )
__________________
Мы летаем, кружимся, нагоняем ужасы ...
За это сообщение автора поблагодарили: dynamax (1).
Старый 28.09.2009, 12:49   #2  
dynamax is offline
dynamax
Участник
 
62 / 11 (1) +
Регистрация: 28.09.2009
Значит так ? :

X++:
dsForInventTrans.addSortField(fieldnum(inventTrans, itemId));        
        dsForInventTrans.orderMode(OrderMode::GroupBy);

        dsForInventTransPostingPhysical.addSortField(fieldId2Ext(fieldnum(InventTransPosting, Dimension), 1));
        dsForInventTransPostingPhysical.orderMode(OrderMode::GroupBy);
Вот SQL-запрос:

X++:
SELECT * FROM InventTrans GROUP BY InventTrans.ItemId ASC WHERE ((ItemId = N'M0001')) EXISTS JOIN * FROM InventDim WHERE InventTrans.inventDimId = InventDim.inventDimId EXISTS JOIN * FROM InventTransPosting GROUP BY InventTransPosting.Dimension[1] ASC WHERE InventTrans.InventTransId = InventTransPosting.InventTransId AND ((TransDate>={ts '2008-09-01 00:00:00.000'} AND TransDate<={ts '2009-09-28 00:00:00.000'}))
вроде бы все правильно, но в форме вижу только одну строчку, как-будто группирую по InvnetTrans.ItemId


Не увидел замечание про ExistJoin....

Последний раз редактировалось dynamax; 28.09.2009 в 13:00.
Старый 28.09.2009, 13:09   #3  
dynamax is offline
dynamax
Участник
 
62 / 11 (1) +
Регистрация: 28.09.2009
JoinMode::InnerJoin

и SQL-запрос:

X++:
SELECT * FROM InventTrans GROUP BY InventTrans.ItemId ASC WHERE ((ItemId = N'M0001')) JOIN * FROM InventDim WHERE InventTrans.inventDimId = InventDim.inventDimId JOIN * FROM InventTransPosting GROUP BY InventTransPosting.Dimension[1] ASC WHERE InventTrans.InventTransId = InventTransPosting.InventTransId AND ((TransDate>={ts '2008-09-01 00:00:00.000'} AND TransDate<={ts '2009-09-28 00:00:00.000'}))
Корректное количество строк, но подразделение теперь не видно...
Теги
query, запрос (query), финансовая аналитика

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
palleagermark: Sample union query from AX 2009 Blog bot DAX Blogs 0 11.07.2008 20:05
Сводное планирование и статистика номенклатуры slava09 DAX: Функционал 6 22.01.2007 10:39
Dynamics AX Geek: Using query() Blog bot DAX Blogs 0 28.10.2006 16:40
Как построить Query? Bukovka DAX: Программирование 9 26.03.2004 16:35
Как правильно построить Query Bukovka DAX: Программирование 0 25.03.2004 11:55
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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