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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.02.2003, 12:19   #1  
rumpleteazer is offline
rumpleteazer
Участник
 
127 / 28 (1) +++
Регистрация: 02.09.2002
? Древовидная структура источников данных в Query
Поддерживая хорошую традицию, заложенную Максимом Горбуновым, буду мучить всех вопросами про Query :)
Далее будет подразумеваться, что все запросы источники данных соединяются по innerjoin, fetchmode: 1:1
Итак имется query такой формы:
Q1
|-QBD1
|-QBD1_1
Выполняем запрос, данные возвращаются из всех источников данных.

Модифицируем запрос:
Q1
|-QBD1
| |-QBD1_1
|-QBD2
Из источника QBD2 - данные не возвращаеются (содержится пустая запись )

Модифицируем запрос:
Q1
|-QBD1
| |-QBD1_1
| |-QBD1_2
|-QBD2
Из источника QBD2 данные не возвращаются.

Модифицируем запрос:
Q1
|-QBD1
| |-QBD1_1
| | |-QBD1_1_1
| |-QBD1_2
|-QBD2
Из источника QBD1_2 и QBD2 данные не возвращаются.


Может, кто-нибудь знает что это: мои кривые руки, фича Аксапты (тогда как с этой фичей бороться) или божественное вмешательство в процесс разработки ?

С уважение, программист группы компаний "Счастливый Кроха".
Старый 03.02.2003, 12:30   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Фича.

И где то на technet уже было обсуждение этого. Вроде.
Старый 03.02.2003, 12:47   #3  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Совет всем, кто любит строить странные запросы - включайте трассировку SQL (или выводите на печать куда-ть qbDS.toString()), тогда возвращаемый результат не будет неожиданостью
Старый 03.02.2003, 13:14   #4  
rumpleteazer is offline
rumpleteazer
Участник
 
127 / 28 (1) +++
Регистрация: 02.09.2002
:(
Всем спасибо за ответы.
Жаль.....
__________________
С уважением, Rumpleteazer.
Старый 03.02.2003, 14:13   #5  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Угу. Неожиданностью будет не результат, а сам запрос

Есть у кого-нибудь работающий пример с двумя или более подцепленных через exists или inner join datasource-ами?

Я проводил эксперимент -
dsTable1
|-ds1 (exists join)
генерит корректный запрос

dsTable1
|-ds1 (exists join)
|-ds2 (exists join)
генерит select * from Table1

По поводу "странности" запросов - ну не всегда поиск только по одной таблице идет, что ж делать
Старый 03.02.2003, 14:47   #6  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Пример
PHP код:
    Query                   query;
    
QueryBuildDataSource    qbDS1qbDS2;
    ;

    
query = new Query();

    
qbDS1 query.addDataSource(tableNum(InventTable));

    
qbDS2 qbDS1.addDataSource(tableNum(InventItemLocation));
    
qbDS2.addLink(fieldNum(InventTableItemId), fieldNum(InventItemLocationItemId));
    
qbDS2.joinMode(JoinMode::EXISTSJOIN);
    
qbDS2.fetchMode(0);
    
info(qbDS1.toString());

    
qbDS2 qbDS1.addDataSource(tableNum(InventTableModule));
    
qbDS2.addLink(fieldNum(InventTableItemId), fieldNum(InventTableModuleItemId));
    
qbDS2.joinMode(JoinMode::EXISTSJOIN);
    
qbDS2.fetchMode(0);
    
info(qbDS1.toString()); 
Старый 03.02.2003, 14:58   #7  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
PHP код:
qbDS2.fetchMode(0); 
Семен Семеныч..

Спасибо, похоже то, что надо
Старый 03.02.2003, 15:52   #8  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
PHP код:
qbDS2.fetchMode(0); 
А подскажите плз, что, собственно, делает этот метод?
__________________
Андрей.
Теги
fetchmode, one2one

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Связывание источников данных в запросах r25 DAX: Программирование 10 17.04.2013 22:45
Query - getNo(n) - не видит данных Arahnid DAX: Программирование 15 19.02.2009 11:52
Структура данных & Структура функций Scut36 DAX: Программирование 4 10.12.2005 15:19
Объединение источников данных DreamCreator DAX: Программирование 26 04.08.2005 14:16
Древовидная структура организации Bobkov DAX: Функционал 1 20.01.2003 15:54

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

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

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