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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.07.2009, 09:38   #1  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Как обойти ограничение на количество полей группировки в DS отчета?
Ахарта 3.0
Ругается, что полей более 16 и что больше нельзя.

Последний раз редактировалось Dronas; 29.07.2009 в 09:47.
Старый 29.07.2009, 10:34   #2  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,731 / 406 (17) +++++++
Регистрация: 23.03.2006
а смысл?
Старый 29.07.2009, 10:44   #3  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от RVS Посмотреть сообщение
"Прошу обратить внимание, что существуют ограничения на количество финансовых аналитик в Microsoft Axapta.

Максимальное количество полей в индексе в MS SQL равно 16, в Oracle Database – 18. Соответственно, это налагает существенные ограничения на количество финансовых аналитик.

(с) MSBS-2004
Оно?
Старый 29.07.2009, 10:50   #4  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Похоже, что да.
Старый 29.07.2009, 10:52   #5  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Тогда ой. Обойти - или осознать, что ни одному пользователю сортировка аж по 16 полям наверняка не нужна или перейти на другую СУБД.
Старый 29.07.2009, 22:14   #6  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от oip Посмотреть сообщение
Тогда ой. Обойти - или осознать, что ни одному пользователю сортировка аж по 16 полям наверняка не нужна или перейти на другую СУБД.
Ну во-первых, несложно заглянуть в документацию по Ораклу и увидеть что максимальное кол-во стобцов в индексе - 32! так что при чём тут 12 аналитик максимум для Оракла как-то совсем уж не понятно - похоже на переваливание с больной головы на здоровую.

А во вторых, стесняюсь спросить, а какое отношение кол-во столбцов в индексе имеет к кол-ву полей в order by?
Не скажу за Сиквел, но Оракл никаких подобных ограничений не накладывает - думаю это скорее какой-то внутренний лимит Аксапты..
__________________
Zhirenkov Vitaly
Старый 29.07.2009, 22:40   #7  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
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 код:
Info    Сообщение (22:39:55)    SELECT FROM InventTable ORDER BY InventTable.ItemGroupId ASCInventTable.ItemId ASCInventTable.ItemName ASCInventTable.ItemType ASCInventTable.PurchModel ASCInventTable.Height ASCInventTable.Width ASCInventTable.SalesModel ASCInventTable.CostGroupId ASCInventTable.ReqGroupId ASCInventTable.EPCManager ASCInventTable.PrimaryVendorId ASCInventTable.NetWeight ASCInventTable.Depth ASCInventTable.UnitVolume ASCInventTable.BOMUnitId ASCInventTable.ItemPriceToleranceGroupId ASCInventTable.Density ASCInventTable.Dimension ASCInventTable.CostModel ASCInventTable.UseAltItemId ASCInventTable.AltItemId ASCInventTable.Intracode ASCInventTable.ProdFlushingPrincip ASCInventTable.MinimumPalletQuantity ASCInventTable.PBAItemAutoGenerated ASCInventTable.WMSArrivalHandlingTime ASCInventTable.BOMManualReceipt ASCInventTable.StopExplode ASCInventTable.Phantom ASCInventTable.IntraUnit ASCInventTable.BOMLevel ASCInventTable.BatchNumGroupId ASCInventTable.AutoReportFinished ASCInventTable.OrigCountryRegionId ASCInventTable.StatisticsFactor ASCInventTable.AltConfigId ASCInventTable.StandardConfigId ASCInventTable.ProdPoolId ASCInventTable.PropertyId ASCInventTable.ABCTieUp ASCInventTable.ABCRevenue ASCInventTable.ABCValue ASCInventTable.ABCContributionMargin ASCInventTable.CommissionGroupId ASCInventTable.Configurable ASCInventTable.SalesPercentMarkup ASCInventTable.SalesContributionRatio ASCInventTable.SalesPriceModelBasic ASCInventTable.DEL_MinAverageSettle ASCInventTable.NameAlias ASCInventTable.ProdGroupId ASCInventTable.projCategoryId ASCInventTable.grossDepth ASCInventTable.grossWidth ASCInventTable.grossHeight ASCInventTable.standardPalletQuantity ASCInventTable.qtyPerLayer ASCInventTable.sortCode ASCInventTable.ConfigSimilar ASCInventTable.SerialNumGroupId ASCInventTable.DimGroupId ASCInventTable.ModelGroupId ASCInventTable.ItemBuyerGroupId ASCInventTable.TaxPackagingQty ASCInventTable.WMSPalletTypeId ASCInventTable.OrigStateId ASCInventTable.DEL_StopExplodePrice ASCInventTable.WMSPickingQtyTime ASCInventTable.TaraWeight ASCInventTable.PackagingGroupId ASCInventTable.ScrapVar ASCInventTable.ScrapConst ASCInventTable.StandardInventColorId ASCInventTable.StandardInventSizeId ASCInventTable.ItemDimCombinationAutoCreate ASCInventTable.ItemDimCostPrice ASCInventTable.ItemIdCompany ASCInventTable.AltInventSizeId ASCInventTable.AltInventColorId ASCInventTable.ForecastDMPInclude ASCInventTable.PalletTagging ASCInventTable.ItemTaggingLevel ASCInventTable.FiscalLIFOAvoidCalc ASCInventTable.FiscalLIFONormalValue ASCInventTable.FiscalLIFOGroup ASCInventTable.FiscalLIFONormalValueCalc ASCInventTable.BOMCalcGroupId ASCInventTable.PBAItemConfigurable ASCInventTable.PBAInventItemGroupId ASCInventTable.PBAHideDialog ASCInventTable.PBAHideApproval ASCInventTable.PBAAutoStart ASCInventTable.PBAMandatoryConfig ASCInventTable.NRTaxGroup_LV ASCInventTable.Packing_RU ASCInventTable.AssetGroupId_RU ASCInventTable.AssetId_RU ASCInventTable.IntrastatExclude_LT ASCInventTable.IntrastatWeight_CZ ASC
Info    Сообщение 
(22:39:55)    In 
__________________
Zhirenkov Vitaly
Старый 29.07.2009, 23:40   #8  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от ZVV Посмотреть сообщение
Ну во-первых, несложно заглянуть в документацию по Ораклу
Я с Ораклом не работал ни секунды и просто привел первую найденную тут цитату. Если для Оракла 32, я за него рад. Спасибо. Буду знать.

Цитата:
Сообщение от ZVV Посмотреть сообщение
А во вторых, стесняюсь спросить, а какое отношение кол-во столбцов в индексе имеет к кол-ву полей в order by?
Речь про Report, а не про запрос в коде.
Старый 29.07.2009, 23:56   #9  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от oip Посмотреть сообщение
Я с Ораклом не работал ни секунды и просто привел первую найденную тут цитату. Если для Оракла 32, я за него рад. Честно. Буду знать.
сочувствую ))
а, если серьёзно, то просто в приведённой вами первой ссылке есть фраза:
Цитата:
Максимальное количество полей в индексе в MS SQL равно 16, в Oracle Database – 18. Соответственно, это налагает существенные ограничения на количество финансовых аналитик.
Вот она нагло врёт..

Цитата:
Сообщение от oip Посмотреть сообщение
Речь про Report, а не про запрос в коде.
Да без разницы, вопрос остаётся в силе - при чём тут индексы?
__________________
Zhirenkov Vitaly
Старый 30.07.2009, 00:11   #10  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Сложно сказать сейчас. Странным образом совпадает число 16. Ну и сообщение Аксапта какой-то похожее пишет, насколько я помню. Аксапты под рукой нет, на подобное сообщение натыкался пару лет назад. Может и не при чем. От Аксапты можно ожидать многого.

А может пять лет назад было не 32? Нет? Про Аналитики: http://forum.mazzy.ru/index.php?showtopic=7902
Старый 30.07.2009, 10:12   #11  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от oip Посмотреть сообщение
Сложно сказать сейчас. Странным образом совпадает число 16. Ну и сообщение Аксапта какой-то похожее пишет, насколько я помню. Аксапты под рукой нет, на подобное сообщение натыкался пару лет назад. Может и не при чем. От Аксапты можно ожидать многого.

А может пять лет назад было не 32? Нет? Про Аналитики: http://forum.mazzy.ru/index.php?showtopic=7902
Да вы знаете, это ограничение на 32 было ещё в 8-м Оракле... а ему то уже лет уйма...
Вот я и говорю, что это скорее Аксаптовский какой-то затык, а перевесить пытаются на кого-то ещё.

Ссылка с форума Маззи уже конечно более похожа на правду, т.к. действительно есть ограничение на размер одной записи в индексе Оракл - не должна превышать половину размера блока.

Но это всё отступление от исходной темы. При сортировке индекс же не создаётся... Самому интересно, просто, из кода всё работает и на сиквеле и на оракле - проверил.
Dronas, а можно увидеть конкретное сообщение, которое вы получаете?
__________________
Zhirenkov Vitaly
Старый 30.07.2009, 10:19   #12  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Ещё кстати, топикстартер как то странно вопрос задал:
тема называется
Как обойти ограничение на количество полей сортировки в 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.
, но на 8К блоке это надо несколько сотен полей в группировку всадить, чтоб на такое наткнуться...
На сиквеле 1.5-2 сотни тоже нормально отрабатывают - проверял.
__________________
Zhirenkov Vitaly
Теги
ax3.0, группировка, отчет

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ограничение на количество сессий одного пользователя Raven Melancholic DAX: Администрирование 24 25.05.2011 08:58
Ограничение количества одновременных подключений под одним логином polygris DAX: Программирование 7 16.05.2008 13:21
Ограничение на количество фин. аналитик sever DAX: Программирование 0 13.01.2004 08:03
количество страниц отчета lexa DAX: Программирование 1 04.08.2003 14:21
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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