|
|
#1 |
|
Участник
|
Имеется отчет в нем 3 dataset код у них одинаковый, отличается только отфильтрованными данными по Where. во всех трех датасетах стоит CRMAF по filteredquote.
в итоге должно получиться что данные отфильтрованные по where попадают по разным таблицам отчета. Впринципе оно получается за одним но, в данные таблиц из dataset2 и dataset3 попадают лишние данные из других заказов. Фактически CRMAF отрабатывает только на первом dataset. Как сделать чтобы CRMAF отрабатывал и на других dataset's |
|
|
|
|
#2 |
|
Чайный пьяница
|
Цитата:
Сообщение от datfi
Имеется отчет в нем 3 dataset код у них одинаковый, отличается только отфильтрованными данными по Where. во всех трех датасетах стоит CRMAF по filteredquote.
в итоге должно получиться что данные отфильтрованные по where попадают по разным таблицам отчета. Впринципе оно получается за одним но, в данные таблиц из dataset2 и dataset3 попадают лишние данные из других заказов. Фактически CRMAF отрабатывает только на первом dataset. Как сделать чтобы CRMAF отрабатывал и на других dataset's
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
|
|
#3 |
|
Участник
|
|
|
|
|
|
#4 |
|
Чайный пьяница
|
Кажется понял в чём заключается Ваша проблема. Приведите, пожалуйста, запросы - помогу решить Вашу проблему.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 21.09.2009 в 12:05. |
|
|
|
|
#5 |
|
Участник
|
Цитата:
Код: SELECT FilteredQuoteDetail.productidname, FilteredQuoteDetail.quantity, FilteredQuoteDetail.priceperunit, FilteredQuoteDetail.extendedamount,
FilteredQuoteDetail.quoteid, FilteredQuoteDetail.productid, FilteredProduct.productid AS Expr1, CRMAF_FilteredQuote.quoteid AS Expr2,
FilteredProduct.new_producttypename, FilteredProduct.new_licenseprgname, CRMAF_FilteredQuote.createdon, CRMAF_FilteredQuote.quotenumber,
CRMAF_FilteredQuote.totaltax, CRMAF_FilteredQuote.customeridname, CRMAF_FilteredQuote.owneridname
FROM FilteredQuoteDetail INNER JOIN
FilteredProduct ON FilteredQuoteDetail.productid = FilteredProduct.productid INNER JOIN
FilteredQuote AS CRMAF_FilteredQuote ON FilteredQuoteDetail.quoteid = CRMAF_FilteredQuote.quoteid
WHERE (FilteredProduct.new_licenseprgname = N'OLP')Код: SELECT FilteredQuoteDetail.productidname, FilteredQuoteDetail.quantity, FilteredQuoteDetail.priceperunit, FilteredQuoteDetail.extendedamount,
FilteredQuoteDetail.quoteid, FilteredQuoteDetail.productid, FilteredProduct.productid AS Expr1, CRMAF_FilteredQuote.quoteid AS Expr2,
FilteredProduct.new_producttypename, FilteredProduct.new_licenseprgname, CRMAF_FilteredQuote.createdon, CRMAF_FilteredQuote.quotenumber,
CRMAF_FilteredQuote.totaltax, CRMAF_FilteredQuote.customeridname, CRMAF_FilteredQuote.owneridname
FROM FilteredQuoteDetail INNER JOIN
FilteredProduct ON FilteredQuoteDetail.productid = FilteredProduct.productid INNER JOIN
FilteredQuote AS CRMAF_FilteredQuote ON FilteredQuoteDetail.quoteid = CRMAF_FilteredQuote.quoteid
WHERE (FilteredProduct.new_licenseprgname = N'OV/OVS') AND (FilteredProduct.new_producttypename <> N'Software Assurance')Код: SELECT FilteredQuoteDetail.productidname, FilteredQuoteDetail.quantity, FilteredQuoteDetail.priceperunit, FilteredQuoteDetail.extendedamount,
FilteredQuoteDetail.quoteid, FilteredQuoteDetail.productid, FilteredProduct.productid AS Expr1, CRMAF_FilteredQuote.quoteid AS Expr2,
FilteredProduct.new_producttypename, FilteredProduct.new_licenseprgname, CRMAF_FilteredQuote.createdon, CRMAF_FilteredQuote.quotenumber,
CRMAF_FilteredQuote.totaltax, CRMAF_FilteredQuote.customeridname, CRMAF_FilteredQuote.owneridname
FROM FilteredQuoteDetail INNER JOIN
FilteredProduct ON FilteredQuoteDetail.productid = FilteredProduct.productid INNER JOIN
FilteredQuote AS CRMAF_FilteredQuote ON FilteredQuoteDetail.quoteid = CRMAF_FilteredQuote.quoteid
WHERE (FilteredProduct.new_producttypename = 'Software Assurance') AND (FilteredProduct.new_licenseprgname = 'OV/OVS') |
|
|
|
|
#6 |
|
Чайный пьяница
|
Могу предложить такой подход, который будет гарантированно работать, правда прийдётся немного перестроить запросы датасетов. Подход заключается в добавлении нового параметра CRM_FilteredQuote в отчёт, который в себе будет содержать предфильтр. Запросы датасетов будут выглядеть примерно так:
Код: Declare @Query VarChar(max)
Set @Query = '
SELECT
FilteredQuoteDetail.productidname
,FilteredQuoteDetail.quantity
,FilteredQuoteDetail.priceperunit
,FilteredQuoteDetail.extendedamount
,FilteredQuoteDetail.quoteid
,FilteredQuoteDetail.productid
,FilteredProduct.productid AS Expr1
,FilteredQuote.quoteid AS Expr2
,FilteredProduct.new_producttypename
,FilteredProduct.new_licenseprgname
,FilteredQuote.createdon
,FilteredQuote.quotenumber
,FilteredQuote.totaltax
,FilteredQuote.customeridname
,FilteredQuote.owneridname
FROM
FilteredQuoteDetail
INNER JOIN FilteredProduct ON FilteredQuoteDetail.productid = FilteredProduct.productid
INNER JOIN (' + @CRM_FilteredQuote + ') FilteredQuote ON FilteredQuoteDetail.quoteid = FilteredQuote.quoteid
WHERE (FilteredProduct.new_licenseprgname = N''OLP'')'
Exec(@Query)Код: Declare @Query VarChar(max)
Set @Query = '
SELECT
FilteredQuoteDetail.productidname
,FilteredQuoteDetail.quantity
,FilteredQuoteDetail.priceperunit
,FilteredQuoteDetail.extendedamount
,FilteredQuoteDetail.quoteid
,FilteredQuoteDetail.productid
,FilteredProduct.productid AS Expr1
,FilteredQuote.quoteid AS Expr2
,FilteredProduct.new_producttypename
,FilteredProduct.new_licenseprgname
,FilteredQuote.createdon
,FilteredQuote.quotenumber
,FilteredQuote.totaltax
,FilteredQuote.customeridname
,FilteredQuote.owneridname
FROM
FilteredQuoteDetail
INNER JOIN FilteredProduct ON FilteredQuoteDetail.productid = FilteredProduct.productid
INNER JOIN (' + @CRM_FilteredQuote + ') FilteredQuote ON FilteredQuoteDetail.quoteid = FilteredQuote.quoteid
WHERE (FilteredProduct.new_licenseprgname = N''OV/OVS'') AND (FilteredProduct.new_producttypename <> N''Software Assurance'')'
Exec(@Query)Код: Declare @Query VarChar(max)
Set @Query = '
SELECT
FilteredQuoteDetail.productidname
,FilteredQuoteDetail.quantity
,FilteredQuoteDetail.priceperunit
,FilteredQuoteDetail.extendedamount
,FilteredQuoteDetail.quoteid
,FilteredQuoteDetail.productid
,FilteredProduct.productid AS Expr1
,FilteredQuote.quoteid AS Expr2
,FilteredProduct.new_producttypename
,FilteredProduct.new_licenseprgname
,FilteredQuote.createdon
,FilteredQuote.quotenumber
,FilteredQuote.totaltax
,FilteredQuote.customeridname
,FilteredQuote.owneridname
FROM
FilteredQuoteDetail
INNER JOIN FilteredProduct ON FilteredQuoteDetail.productid = FilteredProduct.productid
INNER JOIN (' + @CRM_FilteredQuote + ') FilteredQuote ON FilteredQuoteDetail.quoteid = FilteredQuote.quoteid
WHERE (FilteredProduct.new_producttypename = ''Software Assurance'') AND (FilteredProduct.new_licenseprgname = ''OV/OVS'')'
Exec(@Query)
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
|
| За это сообщение автора поблагодарили: datfi (1). | |
|
|
#7 |
|
Участник
|
Сделал немного по другому. Создал параметр quoteid и в параметрах по умочанию указал получение значения из запроса из dataset1.
В других dataset вставил фильтр по этому значению. И стало мне счастье. |
|
|
| Теги |
| dataset, запрос (query), отчет |
|
|
|