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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.10.2015, 12:35   #1  
Start is offline
Start
Участник
 
39 / 9 (1) +
Регистрация: 21.07.2015
Адрес: Москва
Фильтр по финансовой аналитике
Как правильно применить?

на диалоге выбрали фильтр по финансовой аналитике, как его дальше применить? через Range никак ?

соединять все таблицы DimensionAttributeValueSetItem; DimensionAttributeValue ;
DimensionAttribute;

?

а если фильтр по нескольким фин.аналитикам возможен, то такие соединения не слишком "тяжелые"?


идти по записям, получать аналитику и сравнивать получается слишком долго.

Последний раз редактировалось Start; 20.10.2015 в 12:43.
Старый 20.10.2015, 12:52   #2  
A_BAS is offline
A_BAS
Участник
Аватар для A_BAS
 
77 / 48 (2) +++
Регистрация: 19.04.2012
Для фильтрации по аналитикам в Query есть специальные костыли - SysQuery::addDimensionAttributeRange(...)
За это сообщение автора поблагодарили: Михаил Андреев (3), trud (1), gl00mie (2).
Старый 20.10.2015, 13:28   #3  
Start is offline
Start
Участник
 
39 / 9 (1) +
Регистрация: 21.07.2015
Адрес: Москва
Спасибо!

Для пустого значения Range не добавится?

Последний раз редактировалось Start; 20.10.2015 в 13:35.
Старый 20.10.2015, 13:39   #4  
A_BAS is offline
A_BAS
Участник
Аватар для A_BAS
 
77 / 48 (2) +++
Регистрация: 19.04.2012
увы нет
Старый 20.10.2015, 16:41   #5  
makbeth is offline
makbeth
Участник
Аватар для makbeth
КОРУС Консалтинг
 
43 / 52 (2) ++++
Регистрация: 15.05.2007
Адрес: Санкт-Петербург
Что есть пустое значение? Если фильтр для пустого значения, то нужно использовать SysQuery::valueEmptyString(), если нужно просто добавить Range, не указывая значения, то для этого нужно установить параметр _isDefaultRange = true.
Старый 21.10.2015, 09:10   #6  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Пустое значение для фин. аналитике в двенашке - это отсутствие записи с кодом аналитики в таблице DimensionAttributeValueSetItem для соответствующего набора кодов (DefaulDimension)

И, если посмотреть в код метода \Classes\DimensionProvider\addAttributeFilterToQuery (который и вызывается в конечном итоге из SysQuery::addDimensionAttributeRange()), то видно, что для пустого значения аналитики (а это SysQuery::valueEmptyString(), а не пустая строка) добавляется фильтр по JoinMode::NoExistsJoin - т.е. как раз таки будут найдены все комбинации аналитик, для которых нет записей с этой аналитикой

Ну и если посмотреть, как добавляется фильтр, если значение отличается от SysQuery::valueEmptyString(), то видно, что датасорс со значениями аналитик подключается через JoinMode::OuterJoin, а сами значения в запрос передаются как фильтр к Query (т.е. попадают в предложение where). Если бы Аксапта поддерживала сиквельный null, то комбинацию "пустой" аналитики ИЛИ с какими-либо значениями можно было бы указать прямо в фильтре.
Но, увы, с нашей данностью для этого придется делать юнион
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Михаил Андреев (5), mazzy (63), Владимир Максимов (10), Logger (3), A_BAS (2), arhat (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Поиск по финансовой аналитике ax2012 AvrDen DAX: Программирование 2 03.10.2013 19:48
Фильтр по аналитике в OLAP vazerdim DAX: Программирование 0 05.06.2009 16:19
ERP-BLOG: Axapta, фильтр по сетке Blog bot DAX Blogs 26 05.02.2009 15:56
Как в query добавить фильтр по аналитике (Dimension)? Roman812 DAX: Программирование 21 15.07.2005 09:53
Не удаляется фильтр по складской аналитике sergy DAX: Программирование 18 14.02.2005 13:25

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

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

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