|  29.07.2009, 09:38 | #1 | 
| Участник | Как обойти ограничение на количество полей группировки в DS отчета? 
			
			Ахарта 3.0 Ругается, что полей более 16 и что больше нельзя. Последний раз редактировалось Dronas; 29.07.2009 в 09:47. | 
|  | 
|  29.07.2009, 10:34 | #2 | 
| Участник | 
			
			а смысл?
		 | 
|  | 
|  29.07.2009, 10:44 | #3 | 
| Axapta | Цитата: 
		
			Сообщение от RVS
			   "Прошу обратить внимание, что существуют ограничения на количество финансовых аналитик в Microsoft Axapta.  Максимальное количество полей в индексе в MS SQL равно 16, в Oracle Database – 18. Соответственно, это налагает существенные ограничения на количество финансовых аналитик. (с) MSBS-2004 | 
|  | 
|  29.07.2009, 10:50 | #4 | 
| Участник | 
			
			Похоже, что да.
		 | 
|  | 
|  29.07.2009, 10:52 | #5 | 
| Axapta | 
			
			Тогда ой. Обойти - или осознать, что ни одному пользователю сортировка аж по 16 полям наверняка не нужна или перейти на другую СУБД.
		 | 
|  | 
|  29.07.2009, 22:14 | #6 | 
| MCITP |   Цитата:  так что при чём тут 12 аналитик максимум для Оракла как-то совсем уж не понятно - похоже на переваливание с больной головы на здоровую. А во вторых, стесняюсь спросить, а какое отношение кол-во столбцов в индексе имеет к кол-ву полей в order by?  Не скажу за Сиквел, но Оракл никаких подобных ограничений не накладывает - думаю это скорее какой-то внутренний лимит Аксапты.. 
				__________________ Zhirenkov Vitaly | 
|  | 
|  29.07.2009, 22:40 | #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 | 
|  | 
|  29.07.2009, 23:40 | #8 | 
| Axapta | 
			
			Я с Ораклом не работал ни секунды и просто привел первую найденную тут цитату. Если для Оракла 32, я за него рад. Спасибо. Буду знать. Речь про Report, а не про запрос в коде. | 
|  | 
|  29.07.2009, 23:56 | #9 | 
| MCITP |   Цитата:  )) а, если серьёзно, то просто в приведённой вами первой ссылке есть фраза: Цитата: 
		
			Максимальное количество полей в индексе в MS SQL равно 16, в Oracle Database – 18. Соответственно, это налагает существенные ограничения на количество финансовых аналитик.
		
	  Да без разницы, вопрос остаётся в силе - при чём тут индексы? 
				__________________ Zhirenkov Vitaly | 
|  | 
|  30.07.2009, 00:11 | #10 | 
| Axapta | 
			
			Сложно сказать сейчас. Странным образом совпадает число 16. Ну и сообщение Аксапта какой-то похожее пишет, насколько я помню. Аксапты под рукой нет, на подобное сообщение натыкался пару лет назад. Может и не при чем. От Аксапты можно ожидать многого.   А может пять лет назад было не 32? Нет? Про Аналитики: http://forum.mazzy.ru/index.php?showtopic=7902 | 
|  | 
|  30.07.2009, 10:12 | #11 | 
| MCITP |   Цитата: 
		
			Сообщение от oip
			   Сложно сказать сейчас. Странным образом совпадает число 16. Ну и сообщение Аксапта какой-то похожее пишет, насколько я помню. Аксапты под рукой нет, на подобное сообщение натыкался пару лет назад. Может и не при чем. От Аксапты можно ожидать многого.   А может пять лет назад было не 32? Нет? Про Аналитики: http://forum.mazzy.ru/index.php?showtopic=7902 Вот я и говорю, что это скорее Аксаптовский какой-то затык, а перевесить пытаются на кого-то ещё.  Ссылка с форума Маззи уже конечно более похожа на правду, т.к. действительно есть ограничение на размер одной записи в индексе Оракл - не должна превышать половину размера блока. Но это всё отступление от исходной темы. При сортировке индекс же не создаётся... Самому интересно, просто, из кода всё работает и на сиквеле и на оракле - проверил. Dronas, а можно увидеть конкретное сообщение, которое вы получаете? 
				__________________ Zhirenkov Vitaly | 
|  | 
|  30.07.2009, 10:19 | #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 | 
|  |