13.03.2007, 14:41 | #21 |
Участник
|
|
|
13.03.2007, 16:00 | #22 |
Участник
|
Цитата:
Пора большими буковками везде написать, что в DAX тривиальный селект написать невозможно, парсер с ошибкой, ошибку не исправляют уже как две версии.. и флаг в руки желающим прикупить это чудо))) мож тогда зашевеляться, когда пара тройка тендеров по этой причине отвалиться.. как писал db: "2/22/2005 9:01:00 AM PST -- Sergey Gerasimov Добрый день, Роман, Ваш запрос 'Ошибка парсера заросов при разборе сложных запросов' принят в обработку. С уважением Сенргей Герасимов. ... ну а по срокам "8124246 Ошибка парсера заросов при разборе сложных запрос - Обозначено как кандидат для 4.0;""
__________________
Да, цирк уехал |
|
13.03.2007, 16:51 | #23 |
Участник
|
Для Oracle парсится без ошибки...
|
|
13.03.2007, 20:54 | #24 |
Участник
|
|
|
14.03.2007, 11:15 | #25 |
Участник
|
Да не стоит напрягаться - не такая это уж и серьезная ошибка.
Со стороны Microsoft разумно заявить четкое ограничение на количество таблиц в Query. А вот писать такие запросы на 7 таблиц - есть большая ошибка. Cornflower - вы моделировали этот запрос в SQL Query Analyzer? Если нет то попробуйте - может он вам все так подвесит, что и возиться не стоит? |
|
14.03.2007, 13:35 | #26 |
Участник
|
Неправда ваша, бывает нужно и большее число таблиц связать - в основном это, конечно, одна-две транзакционные таблицы и куча справочников. Простой пример: нужно построить отчет по нескольким компаниям с накладными по поставщикам в разрезе договоров, поставщики группируются по внешним кодам, в отчете отдельно выделяются суммы по накладным расходам, распределенным на строки номенклатуры, при этом отфильтровываются "внутренние" контрагенты, связанные через CommerceGateway с другими компаниями, т.е. если поставщик DAT связан с компанией DAT, то он в отчет попасть не должен. Для отчета берутся: VendInvoiceJour, VendInvoiceTrans, VendTable, ExtCodeValueTable, RContractTable, GatewayOrgRef, GatewayOrganization и MarkupTrans (это если использовать MarkupTrans.CustVendPosted_RU, иначе еще придется цеплять MarkupTable) - итого 8 таблиц. Первым делом строится запрос SQL и прогоняется в Query Analyzer, чтобы посмотреть, те ли вообще данные получатся на выходе и за какое время они получатся, а уже потом это все переводится в Query, и начинается мучительная борьба с ограничениями и бзиками парсера запросов
Последний раз редактировалось gl00mie; 14.03.2007 в 13:50. Причина: уточнение |
|
14.03.2007, 15:15 | #27 |
Участник
|
Цитата:
Сообщение от gl00mie
...нужно построить отчет по нескольким компаниям с накладными по поставщикам в разрезе договоров, поставщики группируются по внешним кодам, в отчете отдельно выделяются суммы по накладным расходам, распределенным на строки номенклатуры, при этом отфильтровываются "внутренние" контрагенты, связанные через CommerceGateway с другими компаниями, т.е. если поставщик DAT связан с компанией DAT, то он в отчет попасть не должен. Для отчета берутся: VendInvoiceJour, VendInvoiceTrans, VendTable, ExtCodeValueTable, RContractTable, GatewayOrgRef, GatewayOrganization и MarkupTrans (это если использовать MarkupTrans.CustVendPosted_RU, иначе еще придется цеплять MarkupTable) - итого 8 таблиц. ...
Кстати, возможно для такого Query - количество таблиц и не имеет столь жестких ограничений. Ни кто не проверял ? Наконец если при настройке системы позаботиться об этом заранее, то можно сократить Query на 2-3 таблицы. |
|
14.03.2007, 16:37 | #28 |
Участник
|
Ну Вы заладили... А если модификацию необходимо выполнить в функциональности где все сущности уже спроектированы и реализованы... А необходимо в какую-нибудь форму добавить в источник данных еще одну табличку для наложения фильтра... потом можно и тонким тюнингом заняться для ускорения работы СУБД...
|
|
14.03.2007, 18:02 | #29 |
Участник
|
Цитата:
Цитата:
Наконец если при настройке системы позаботиться об этом заранее, то можно сократить Query на 2-3 таблицы.
|
|
15.03.2007, 11:27 | #30 |
Участник
|
Ладно, убедили - пишите в Микрософт коллективную жалобу...
|
|