|
![]() |
#1 |
Чайный пьяница
|
![]()
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#2 |
Участник
|
День добрый. Подскажите пожалуйста. Пытаюсь реализовать предварительную фильтрацию, но ничего не получается, постоянно где то ошибки валятся.
1. Создал отчет. 2. В Параметрах создал переменную CRM_FilteredOpportunity 3. Создал датасет с таким запросом: Цитата:
DECLARE @SQL nvarchar(4000)
SET @SQL = 'SELECT name, ISNULL ((SELECT SUM(new_estimatedvaluethisyear) FROM ('+@CRM_FilteredOpportunity+') as fa where (new_mgt = FilteredBusinessUnit.businessunitid)),0) FULLVALUE, ISNULL ((SELECT SUM(new_estimatedvaluethisyear) FROM ('+@CRM_FilteredOpportunity+') as fa where (new_mgt = FilteredBusinessUnit.businessunitid) and (new_Probability = 100000000)),0) F0, ISNULL ((SELECT SUM(new_estimatedvaluethisyear) FROM ('+@CRM_FilteredOpportunity+') as fa where (new_mgt = FilteredBusinessUnit.businessunitid) and (new_Probability = 100000001)),0) F1, ISNULL ((SELECT SUM(new_estimatedvaluethisyear) FROM ('+@CRM_FilteredOpportunity+') as fa where (new_mgt = FilteredBusinessUnit.businessunitid) and (new_Probability = 100000002)),0) F2 from FilteredBusinessUnit GROUP BY name, businessunitid' EXEC (@SQL) Но вся эта связка не работает. Прошу помощи. |
|
![]() |
#3 |
Чайный пьяница
|
А вы принтом посмотрите какой у вас запрос получается. Я сходу не понял, что вы хотите получить в результате:
Код: Declare @CRM_FilteredOpportunity VarChar(Max) Set @CRM_FilteredOpportunity = 'Select * From FilteredOpportunity' DECLARE @SQL nvarchar(4000) SET @SQL = 'SELECT name, ISNULL ((SELECT SUM(new_estimatedvaluethisyear) FROM ('+@CRM_FilteredOpportunity+') as fa where (new_mgt = FilteredBusinessUnit.businessunitid)),0) FULLVALUE, ISNULL ((SELECT SUM(new_estimatedvaluethisyear) FROM ('+@CRM_FilteredOpportunity+') as fa where (new_mgt = FilteredBusinessUnit.businessunitid) and (new_Probability = 100000000)),0) F0, ISNULL ((SELECT SUM(new_estimatedvaluethisyear) FROM ('+@CRM_FilteredOpportunity+') as fa where (new_mgt = FilteredBusinessUnit.businessunitid) and (new_Probability = 100000001)),0) F1, ISNULL ((SELECT SUM(new_estimatedvaluethisyear) FROM ('+@CRM_FilteredOpportunity+') as fa where (new_mgt = FilteredBusinessUnit.businessunitid) and (new_Probability = 100000002)),0) F2 from FilteredBusinessUnit GROUP BY name, businessunitid' Print @sql EXEC (@SQL)
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#4 |
Участник
|
Если без "print @Sql", то выдает именно то что надо, список дирекций, и в столбцы суммы по определенным полям разбитые на статусы.
Проблема в том, что если оставить запрос как Вы предлагаете, т.е. с объявлением переменной непосредственно в запросе, то он не работает в CRM, но отлично себя чувствует в редакторе. А если переменная создана а Параметрах, то вообще не работает нигде. |
|
![]() |
#5 |
Чайный пьяница
|
Цитата:
Сообщение от FeRRum17
![]() Если без "print @Sql", то выдает именно то что надо, список дирекций, и в столбцы суммы по определенным полям разбитые на статусы.
Проблема в том, что если оставить запрос как Вы предлагаете, т.е. с объявлением переменной непосредственно в запросе, то он не работает в CRM, но отлично себя чувствует в редакторе. А если переменная создана а Параметрах, то вообще не работает нигде. Пересмотрел ещё раз запрос. Стало понятно что и как вы выбираете. Сразу не понял глубину замысла. Сходу - ошибку не видно. Запрос честный, должен работать. Потому сразу задам несколько вопросов-советов: 1. Какой тип датасорса используете в отчёте? Должен быть Embedded (никаких там Shared). 2. Попробуйте удалить отчёт из CRM и пересоздать его заново. 3. Если это не поможет - включайте трейсинг, перезапускайте ИИС и запускайте заново отчёт - должно принести читабельную ошибку что же там не так. 4. Если и это не поможет - то профайлер вам в помощь. Аминь. PS Если что - пишите о результатах, постараюсь помочь.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: FeRRum17 (1). |
![]() |
#6 |
Участник
|
Очень большое спасибо за наведение на нужную мысль. Проблема была на поверхности и заключалось в незнании и малом опыте. Я привык что, поля в запросе прописываются автоматически при выполнении запроса, а оказалось, что при подобном раскладе их необходимо прописывать ручками в соответствующий раздел свойств набора данных.
|
|
![]() |
#7 |
Чайный пьяница
|
Цитата:
Сообщение от FeRRum17
![]() Очень большое спасибо за наведение на нужную мысль. Проблема была на поверхности и заключалось в незнании и малом опыте. Я привык что, поля в запросе прописываются автоматически при выполнении запроса, а оказалось, что при подобном раскладе их необходимо прописывать ручками в соответствующий раздел свойств набора данных.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 17.02.2014 в 18:57. |
|
Теги |
parameters passing, reporting services, report |
|
|