![]() |
#1 |
Участник
|
Как обойти ограничение на количество полей группировки в DS отчета?
Ахарта 3.0
Ругается, что полей более 16 и что больше нельзя. Последний раз редактировалось Dronas; 29.07.2009 в 09:47. |
|
![]() |
#2 |
Участник
|
а смысл?
|
|
![]() |
#3 |
Axapta
|
Цитата:
Сообщение от RVS
![]() "Прошу обратить внимание, что существуют ограничения на количество финансовых аналитик в Microsoft Axapta.
Максимальное количество полей в индексе в MS SQL равно 16, в Oracle Database – 18. Соответственно, это налагает существенные ограничения на количество финансовых аналитик. (с) MSBS-2004 |
|
![]() |
#4 |
Участник
|
Похоже, что да.
|
|
![]() |
#5 |
Axapta
|
Тогда ой. Обойти - или осознать, что ни одному пользователю сортировка аж по 16 полям наверняка не нужна или перейти на другую СУБД.
|
|
![]() |
#6 |
MCITP
|
![]() Цитата:
![]() А во вторых, стесняюсь спросить, а какое отношение кол-во столбцов в индексе имеет к кол-ву полей в order by? ![]() Не скажу за Сиквел, но Оракл никаких подобных ограничений не накладывает - думаю это скорее какой-то внутренний лимит Аксапты..
__________________
Zhirenkov Vitaly |
|
![]() |
#7 |
MCITP
|
![]()
DAX 2009 + MS SQL:
X++: static void Job3(Args _args) { Query q = New Query(); QueryBuildDataSource qbds; QueryRun qr; SysDictTable dictTable = new SysDictTable(tableNum(InventTable)); int i; ; qbds = q.addDataSource(tableNum(InventTable)); for (i=1; i<=100; i++) { qbds.addSortField(dictTable.fieldCnt2Id(i)); } info(qbds.toString()); qr = New QueryRun(q); while (qr.next()) { info("In"); break; } } PHP код:
__________________
Zhirenkov Vitaly |
|
![]() |
#8 |
Axapta
|
Я с Ораклом не работал ни секунды и просто привел первую найденную тут цитату. Если для Оракла 32, я за него рад. Спасибо. Буду знать.
Речь про Report, а не про запрос в коде. |
|
![]() |
#9 |
MCITP
|
![]() Цитата:
![]() а, если серьёзно, то просто в приведённой вами первой ссылке есть фраза: Цитата:
Максимальное количество полей в индексе в MS SQL равно 16, в Oracle Database – 18. Соответственно, это налагает существенные ограничения на количество финансовых аналитик.
![]() Да без разницы, вопрос остаётся в силе - при чём тут индексы?
__________________
Zhirenkov Vitaly |
|
![]() |
#10 |
Axapta
|
Сложно сказать сейчас. Странным образом совпадает число 16. Ну и сообщение Аксапта какой-то похожее пишет, насколько я помню. Аксапты под рукой нет, на подобное сообщение натыкался пару лет назад. Может и не при чем. От Аксапты можно ожидать многого.
![]() А может пять лет назад было не 32? Нет? Про Аналитики: http://forum.mazzy.ru/index.php?showtopic=7902 |
|
![]() |
#11 |
MCITP
|
![]() Цитата:
Сообщение от oip
![]() Сложно сказать сейчас. Странным образом совпадает число 16. Ну и сообщение Аксапта какой-то похожее пишет, насколько я помню. Аксапты под рукой нет, на подобное сообщение натыкался пару лет назад. Может и не при чем. От Аксапты можно ожидать многого.
![]() А может пять лет назад было не 32? Нет? Про Аналитики: http://forum.mazzy.ru/index.php?showtopic=7902 Вот я и говорю, что это скорее Аксаптовский какой-то затык, а перевесить пытаются на кого-то ещё. ![]() Ссылка с форума Маззи уже конечно более похожа на правду, т.к. действительно есть ограничение на размер одной записи в индексе Оракл - не должна превышать половину размера блока. Но это всё отступление от исходной темы. При сортировке индекс же не создаётся... Самому интересно, просто, из кода всё работает и на сиквеле и на оракле - проверил. Dronas, а можно увидеть конкретное сообщение, которое вы получаете?
__________________
Zhirenkov Vitaly |
|
![]() |
#12 |
MCITP
|
![]()
Ещё кстати, топикстартер как то странно вопрос задал:
тема называется Как обойти ограничение на количество полей сортировки в DS отчета? а ниже: Как обойти ограничение на количество полей группировки в DS отчета? ![]() Прогнал указанный выше джоб с группировками - тоже никаких проблем... Если говорить про Оракл, то с группировками есть другое ограничение: Цитата:
GROUP BY
clause Maximum length The GROUP BY expression and all of the nondistinct aggregate functions (for example, SUM, AVG) must fit within a single database block. На сиквеле 1.5-2 сотни тоже нормально отрабатывают - проверял.
__________________
Zhirenkov Vitaly |
|