powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Ошибка при построении отчета при множественных параметрах.
7 сообщений из 7, страница 1 из 1
Ошибка при построении отчета при множественных параметрах.
    #38507436
Starbuck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, здравствуйте.
Встала проблема, когда при выборе нескольких значений в параметрах отчета, отчет крашится с ошибкой: Query execution failed for dataset Неправильный синтаксис возле конструкции ",". Параметры берутся из запросов. В чем может быть проблема?
...
Рейтинг: 0 / 0
Ошибка при построении отчета при множественных параметрах.
    #38507514
Madmech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложите, пожалуйста, запрос из этого DataSet'а. Иначе вряд ли получится что-то подсказать.
...
Рейтинг: 0 / 0
Ошибка при построении отчета при множественных параметрах.
    #38507545
Starbuck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Madmech,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
SELECT 
PD.[Date],
PD.[Employee Name],
PD.Position,
PD.Department,
PD.Shift,
MINT.BusinessUnit,
case when isnull(MINT.CVQI_a,0) = 0 then 0
else MINT.CVQI_p/MINT.CVQI_a end as CVQI,
case when ISNULL(MINT.FG_p,0) = 0 then 0
else (MINT.FG_a/MINT.FG_p)end as Prod,
case when ISNULL(MINT.RJT_a, 0) = 0 then 0
else (MINT.RJT_p/RJT_a) end as Rej,
case when isnull(MINT.stop_a,0) = 0  or isnull(MINT.stop_a,0) = 0 then 0
else ((MINT.stop_p/stop_a)/FG_a) end as [Stop],
case when isnull(MINT.CVQI_a,0) = 0 or ISNULL(MINT.FG_p,0) = 0 or ISNULL(MINT.RJT_a, 0) = 0 or isnull(MINT.stop_a,0) = 0 then 0
else (((MINT.CVQI_p/CVQI_a) + (MINT.FG_a/MINT.FG_p) + (MINT.RJT_p/RJT_a) + ((MINT.stop_p/stop_a)/FG_a))/3) end as Koef
--MINT.FG_a,
--MINT.FG_p,
--MINT.CVQI_a,
--MINT.CVQI_p,
--MINT.RJT_a,
--MINT.RJT_p
 FROM
(
(SELECT
EMP.[FirstNameEn] + ' ' + EMP.LastNameEn as [Employee Name],
EMP.POSITION_NAME_EN as Position,
DEP.Alias as Department,
RD.ShiftScheduleID,
SS.[Date],
SS.[Shift],
[Key] = 'MA'+substring(RD.[MachineID],3,2)+'PA'+substring(RD.[MachineID],3,2)+ CONVERT ( varchar, SS.[Date], 5 )+ SS.[Shift]
FROM
dbo.tblRawData as RD
INNER JOIN
dbo.tblEmployee as EMP ON EMP.[EmployeeID]=RD.[EmployeeID]
INNER JOIN [dbo].[tblShiftSchedule] as SS
ON RD.[ShiftScheduleID] = SS.[ShiftScheduleID]
LEFT JOIN
dbo.tblDepartment AS DEP 
ON DEP.DepartmentID = EMP.DEPARTMENT_ID 
  ) AS PD
  INNER JOIN
  mint_to_pdp as MINT
  ON  MINT.pdpkey=PD.[Key] AND PD.[Date] BETWEEN @StartDate and @EndDate
  AND MINT.BusinessUnit = @BU
  AND Position = @Position
  AND Shift =@Shift
  AND MINT.WorkCenterName = @WorkCenter)
  order by Koef
...
Рейтинг: 0 / 0
Ошибка при построении отчета при множественных параметрах.
    #38507574
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Starbuck,

выбор нескольких значений в параметрах отчета здесь?
Код: sql
1.
2.
3.
4.
AND MINT.BusinessUnit = @BU
AND Position = @Position
AND Shift = @Shift
AND MINT.WorkCenterName = @WorkCenter

Если да, то какие переменные?
...
Рейтинг: 0 / 0
Ошибка при построении отчета при множественных параметрах.
    #38507662
Starbuck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user89,

Мультивыбор есть, переменные: text
...
Рейтинг: 0 / 0
Ошибка при построении отчета при множественных параметрах.
    #38507677
Madmech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю, Вам надо в запросе те условия, в которых используются переменные с множественным выбором, переписать вот так:

Код: sql
1.
MINT.WorkCenterName IN (@WorkCenter)
...
Рейтинг: 0 / 0
Ошибка при построении отчета при множественных параметрах.
    #38507709
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Starbuckпеременные: text А что девять-то? А что приборы-то?

Я думаю, в переменные @BU @Position @Shift @WorkCenter передается multi-value параметр, и ошибка в этом блоке
Код: sql
1.
2.
3.
4.
AND MINT.BusinessUnit = @BU
AND Position = @Position
AND Shift = @Shift
AND MINT.WorkCenterName = @WorkCenter


Надо передать multi-value параметр в выражение типа
Код: sql
1.
2.
select Field1, Field2 from MyTable
where Field1 in (multi-value параметр)

Вариант 1. Использую я сам. Не очень простой с виду, но быстрыйВ Expression пишем
Код: vbnet
1.
=Join(Parameters!<ParameterName>.Value,",") - Выражение, объединяющее в одну строку все значения параметра через разделитель (у нас запятая)

Далее на sql сервере, эту строку обрабатываем таким образом (запустите шаблон)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
set nocount on

declare @str varchar(8000), @delimiter varchar(64)
declare @t table (idx int, fio varchar(500))
insert @t select 1,'Иванов' union all select 2,'Петров' union all select 3,'Сидоров' union all select 4,'Кто-то еще'

select @str = 'Иванов,Петров,Кто-то еще', @delimiter = ','

;with str_nums (n1, n2, Number) as ( 
  select 1-len(@delimiter) [n1], charindex(@delimiter, @str+@delimiter) [n2], 0 as Number  
  union all
  select n2 [n1], charindex(@delimiter, @str+@delimiter, n2+len(@delimiter)) [n2], Number+1 [Number]
  from str_nums
  where n2 < len(@str)
)
select * from @t
where fio in (select substring(@str, n1+len(@delimiter), n2-n1-1) [Value] from str_nums)


Вариант 2. С фильтром. Простой, но чуть медленнее (использовал ранее)
I used the MS example of checking the multi checkbox for the parameter and then using a WHERE Column IN (@MultiParam)
Filter Method
Create a multi-value parameter. Let's call it @Animals and you select Dog, Cat, Bird (or Select All)
Your main Dataset, which will return a result set to your report, does not reference @Animals in it's where clause.
Instead, click on Dataset Properties and select Filters
In the Filter setup dialog, click on the column in your result set that corresponds to the Animal value.
For the operator, select the "In" operator
For the value, type in [@Animals]
Done!

Также ссылки в помощь
Использование однозначных и многозначных параметров
Working with Multivalued Parameters
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Ошибка при построении отчета при множественных параметрах.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]