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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.12.2004, 15:07   #1  
rrkrivov is offline
rrkrivov
Участник
Аватар для rrkrivov
 
8 / 10 (1) +
Регистрация: 24.12.2004
Адрес: г. Москва
Группировка по двум и более таблицам
Доброго времени суток!

Вохможно ли в Axapta3 помощью Views сделать следующее:

Есть две таблицы:
  • COR_ProcessingScheduleJournal
  • COR_ProcessingScheduleLines

Нужно сделать вьюшку в которой осуществляется сл. запрос (это MSSQL-запрос) :
Код:
SELECT      aos.COR_PROCESSINGSCHEDULEJOURNAL.PROCESSINGSCHEDULEID, aos.COR_PROCESSINGSCHEDULELINES.ITEMID, 
                      SUM(aos.COR_PROCESSINGSCHEDULELINES.QTY) AS Expr2
FROM         aos.COR_PROCESSINGSCHEDULEJOURNAL LEFT OUTER JOIN
                      aos.COR_PROCESSINGSCHEDULELINES ON 
                      aos.COR_PROCESSINGSCHEDULEJOURNAL.PROCESSINGSCHEDULEID = aos.COR_PROCESSINGSCHEDULELINES.PROCESSINGSCHEDULEID AND 
                      aos.COR_PROCESSINGSCHEDULEJOURNAL.DATAAREAID = aos.COR_PROCESSINGSCHEDULELINES.DATAAREAID
GROUP BY aos.COR_PROCESSINGSCHEDULEJOURNAL.PROCESSINGSCHEDULEID, aos.COR_PROCESSINGSCHEDULELINES.ITEMID
И можно ли динамически менять эту группировку? Нужно для создании формы. Временные таблицы не хотелось бы использовать.
Старый 24.12.2004, 15:24   #2  
rrkrivov is offline
rrkrivov
Участник
Аватар для rrkrivov
 
8 / 10 (1) +
Регистрация: 24.12.2004
Адрес: г. Москва
Опля.. Работает
Такую вьюху восоздать можно.

Для этого нужно:
  • создать вьюху, в моем случае назавем ее COR_Processing
  • в разделе MetaData нужно создать DataSources и связать их с помощью Releations.
  • в разделе Fields нужно нужно указать поля таблиц (из DataSource) по которым нужно делать группировку
  • там же создать так называемые Agreggation-поля с указанием DataSource, имя поля (например, Qty) и операцию (например, sum)

И все это корректно работает... Но пока не выяснил как сделать так, что бы из первой таблицы (COR_ProcessingScheduleJournal) выбирались все записи вне зависимости от того, если ли связаныне записи во второй таблице (COR_ProcessingScheduleLines) или их нет?

И последний вопрос: как менять эту группировку (список полей, например) динамичесие или прийдется создавать разные вьюхи для конкретного случая?

Но тут ответ напрашивается сам - создавать разные вьюхи, ибо нельзя динамически изменять запрос во вьюхах (так как они лежат на сервере)....

Жаль конечно же, но ничего не сделаешь.
Старый 27.12.2004, 07:29   #3  
Paul_ST is offline
Paul_ST
Участник
 
144 / 11 (1) +
Регистрация: 26.11.2003
Адрес: Екатеринбург
Насколько я понял - при создании View невозможно указать вид связи (ouer, inner, ...). Добавляемые DataSorce'ы связываются по inner join.
Однако данное ограничение достаточно легко обходится путём создания запроса (Query) динамически или в АОТ. Естественно, у запроса можно будет установить связь любого вида. Дальше можно просто запустить запрос при помощи QueryRun.
__________________
Paul_ST
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Группировка в Lookup maze DAX: Программирование 6 18.11.2009 17:08
Баги WebTab в DAX4 (более 1-ого на форме) alex55 DAX: Программирование 4 11.07.2008 16:28
Суммы по двум таблицам ice DAX: Программирование 17 28.04.2008 15:53
Запрос по двум таблицам fialka DAX: Программирование 17 15.12.2006 14:36
Группировка в отчетах Pegiy DAX: Программирование 14 22.10.2004 10:44

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

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

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