Гость
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Report Builder 3.0, не возможно создать список полей для запроса / 15 сообщений из 15, страница 1 из 1
18.05.2011, 09:47
    #37266370
Stanislav L.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0, не возможно создать список полей для запроса
Доброго дня.

Исходные таблицы:

+
Код: plaintext
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.
CREATE TABLE [dbo].[KULP](
	[Renters] [char]( 50 ) NULL,
	[ProtectCategory] [char]( 17 ) NULL,
	[Forested] [bit] NULL,
	[#kv] [int] NULL,
	[#vd] [int] NULL,
	[nName] [char]( 50 ) NULL,
	[DateStart] [datetime] NULL,
	[AriaStart] [real] NULL,
	[DateEnd] [datetime] NULL,
	[AreaEnd] [real] NULL,
	[FireType] [char]( 9 ) NULL,
	[CreateKind] [char]( 7 ) NULL,
	[KindWood] [char]( 15 ) NULL,
	[Autos] [int] NULL,
	[Tractors] [int] NULL,
	[Peoples] [int] NULL,
	[CaseOf] [char]( 120 ) NULL,
	[LostWood] [real] NULL,
	[LostWoodCost] [real] NULL,
	[LostWoodNew] [real] NULL,
	[LostWoodNewCost] [real] NULL,
	[AllLostCost] [real] NULL,
	[RadyWood] [real] NULL,
	[RadyWoodCost] [real] NULL,
	[FireCost] [real] NULL,
	[FireCostSub] [real] NULL,
	[LostBuildCost] [real] NULL,
	[AnotherLostCost] [real] NULL,
	[PersonName] [char]( 30 ) NULL,
	[Users] [char]( 30 ) NULL,
	[id] [bigint] IDENTITY( 1 , 1 ) NOT NULL,
	[RecTime] [datetime] NULL
) ON [PRIMARY]

GO


+
Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE [dbo].[FireType](
	[name] [char]( 9 ) NULL,
	[id] [bigint] IDENTITY( 1 , 1 ) NOT NULL
) ON [PRIMARY]

GO


Есть такой запрос. Он выполняется в Managment Studio 2008 R2, но в Report Builder 3.0 пишет ошибку "не возможно создать список полей для запроса"

+
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
use forest

select Kulp.FireType
	, sum ( Case when FireType.id= 2  and Forested =  1  then AreaEnd else  0  end) AreaUpWithForest
	, sum ( Case when FireType.id= 2  and Forested =  0  then AreaEnd else  0  end) AreaUpNoForest
	, sum ( Case when FireType.id= 2  and ProtectCategory != null then AreaEnd else  0  end) AreaProtect
	
	, sum ( Case when FireType.id= 1  and Forested =  1  then AreaEnd else  0  end) AreaBottomWithForest
	, sum ( Case when FireType.id= 1  and Forested =  0  then AreaEnd else  0  end) AreaBottomNoForest
	, sum ( Case when FireType.id= 1  and ProtectCategory != null then AreaEnd else  0  end) AreaProtect
	
	, sum ( Case when FireType.id= 3  and Forested =  1  then AreaEnd else  0  end) AreaDownWithForest
	, sum ( Case when FireType.id= 3  and Forested =  0  then AreaEnd else  0  end) AreaDownNoForest
	, sum ( Case when FireType.id= 3  and ProtectCategory != null then AreaEnd else  0  end) AreaProtect
	
	, sum ( case when KULP.FireType= 1 	then  1  else  0  end ) Count_Up1
	, sum ( Case when KULP.FireType= 2 	then  1  else  0  end ) Count_Up2
	, sum ( case when KULP.FireType= 3 	then  1  else  0  end ) Count_Up3
		
 from KULP, FireType 
 where FireType.id=KULP.FireType
 group by FireType


Результат запроса.
http://imglink.ru/show-image.php?id=fff95b2c1473bc1a72fa4f966de3820f

Последние поля лучше бы были в строке, но как их туда поствить, к сожалаению не знаю. Вообщем RB3.0 не хочет работать с таким запросом, может какая ошибка есть?

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
18.05.2011, 09:48
    #37266374
Stanislav L.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0, не возможно создать список полей для запроса
Да и ещё дополнение к сообщению RB 3.0 "Элемент с тем же ключом уже был добавлен."
...
Рейтинг: 0 / 0
18.05.2011, 10:55
    #37266535
Report Builder 3.0, не возможно создать список полей для запроса
Stanislav L.,
Не знаю, прокатит, нет, добавить квадратные скобки в названиях столбцов
Код: plaintext
1.
2.
, sum ( case when KULP.FireType= 1 	then  1  else  0  end ) [Count_Up1]
, sum ( Case when KULP.FireType= 2 	then  1  else  0  end ) [Count_Up2]
, sum ( case when KULP.FireType= 3 	then  1  else  0  end ) [Count_Up3]


Он выполняется в Managment Studio 2008 R2, но в Report Builder 3.0 С Report Builder не работал, для создания отчетов использую Visual Studio (в ней больше возможностей), которая входит в бесплатную версию SQL Express 2008 R2.
http://www.microsoft.com/express/Database/InstallOptions.aspx

Дистрибутив качаем из раздела "Database with Advanced Services"
...
Рейтинг: 0 / 0
18.05.2011, 10:56
    #37266537
Report Builder 3.0, не возможно создать список полей для запроса
Visual Studio 2010 Express
http://www.microsoft.com/express/Web/
...
Рейтинг: 0 / 0
18.05.2011, 15:24
    #37267403
Stanislav L.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0, не возможно создать список полей для запроса
Начинающий SQL 2008,

Спасибо. Но, к сожалению не помогло. Может подскажите, как пренести результаты еэтх столбцов в строку, может это поможет?
ReportBuilder использую т.к. он интегрируется с SharePoint.
Может VS и проще, но думаю результат будет тот же.
...
Рейтинг: 0 / 0
18.05.2011, 15:33
    #37267441
Report Builder 3.0, не возможно создать список полей для запроса
Stanislav L.Может подскажите, как пренести результаты еэтх столбцов в строку, может это поможет? Один из вариантов:
http://www.sql.ru/faq/faq_topic.aspx?fid=731


Или давайте сюда заполенные тестовые данные, что-то типа такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
declare @t table (Parent varchar( 50 ), Child varchar( 50 ))
insert @t
 select 'Depart 1','Podrazdel 1_1' union all select 'Depart 1','Podrazdel 1_2' union all select 'Depart 2','Podrazdel 2_1' union all
 select 'Depart 2','Podrazdel 2_2' union all select 'Podrazdel 1_1','Otdel 1_1' union all select 'Podrazdel 1_1','Otdel 1_2' 

select * from @t
И желаемый результат.
...
Рейтинг: 0 / 0
19.05.2011, 09:54
    #37268684
Stanislav L.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0, не возможно создать список полей для запроса
Начинающий SQL 2008,

Спасибо.

1. Как оно сейчас http://imglink.ru/show-image.php?id=fff95b2c1473bc1a72fa4f966de3820f
2. Как оно должно http://imglink.ru/show-image.php?id=d15bc68b2731d3dd6fdabb92cc53a5d5

В приложении CSV файл с иходными данными.
...
Рейтинг: 0 / 0
19.05.2011, 09:54
    #37268685
Stanislav L.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0, не возможно создать список полей для запроса
Stanislav L.,

Сам файл.
...
Рейтинг: 0 / 0
19.05.2011, 11:26
    #37268889
Stanislav L.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0, не возможно создать список полей для запроса
Начинающий SQL 2008,

Начинающий SQL 2008 http://www.sql.ru/faq/faq_topic.aspx?fid=731

Не совсем ясна идея применения, в данном контексте.
...
Рейтинг: 0 / 0
19.05.2011, 18:50
    #37270186
Report Builder 3.0, не возможно создать список полей для запроса
Stanislav L.,

Выше 10672153 я просил заполненные данные, в другой ветке 10679967 просил iljy.
Screen - это хорошо, файл csv тоже неплохо, но мы хотим чтобы текст с форума можно было скопировать в буфер, вставить в Management Studio, нажать F5 и посмотреть что к чему.
А таблица FireType вообще пустая.
...
Рейтинг: 0 / 0
20.05.2011, 10:56
    #37270956
Stanislav L.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0, не возможно создать список полей для запроса
Начинающий SQL 2008,

Сорри, вот данные
Код: plaintext
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.
--FireType
CREATE TABLE [dbo].[FireType](
	[id] [bigint] IDENTITY( 1 , 1 ) NOT NULL,
	[name] [char]( 9 ) NULL
	
) ON [PRIMARY]

INSERT INTO [forest].[dbo].[FireType]
           ([name])
     VALUES
           ('Верховой'),
           ('Низовой'),
           ('Подземный')

--KULP
CREATE TABLE [dbo].[KULP](
	[ProtectCategory] [char]( 17 ) NULL,
	[Forested] [bit] NULL,
	[AreaEnd] [real] NULL,
	[FireType] [char]( 9 ) NULL,

) ON [PRIMARY]

INSERT INTO [forest].[dbo].[KULP]
           ([ProtectCategory]
           ,[Forested]
           ,[AreaEnd]
           ,[FireType])
     VALUES
	    ('Защитные', 1 ,  0 . 50 ,  1 )
           ,('Экпуатационные', 1 ,  1 . 40 ,  2 )
           ,('Экпуатационные', 1 ,  0 . 35 ,  3 )
           ,('Защитные', 1 ,  0 . 27 ,  2 )
           ,('Защитные', 1 ,  1 . 14 ,  2 )

--DROP
DROP [dbo].[FireType]
DROP [dbo].[KULP]

Можно ли организовать вывод так, что бы заголовки колонок были не цифры FireType, а названия из таблицы FireType?
...
Рейтинг: 0 / 0
20.05.2011, 11:26
    #37271034
Report Builder 3.0, не возможно создать список полей для запроса
Stanislav L.,

???

Код: plaintext
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.
use tempdb

--FireType
CREATE TABLE [dbo].[FireType] (id bigint IDENTITY( 1 , 1 ) NOT NULL, name char( 9 ) NULL) ON [PRIMARY]
INSERT INTO .[dbo].[FireType] (name) VALUES ('Верховой'),('Низовой'),('Подземный')

--KULP
CREATE TABLE [dbo].[KULP] (ProtectCategory char( 17 ) NULL, Forested bit NULL, AreaEnd real NULL, FireType char( 9 ) NULL,) ON [PRIMARY]
INSERT INTO .[dbo].[KULP] (ProtectCategory, Forested , AreaEnd , FireType) 
VALUES ('Защитные', 1 ,  0 . 50 ,  1 ),('Экпуатационные', 1 ,  1 . 40 ,  2 ),('Экпуатационные', 1 ,  0 . 35 ,  3 ),('Защитные', 1 ,  0 . 27 ,  2 ),('Защитные', 1 ,  1 . 14 ,  2 )


select k.FireType
	, sum(Case when f.id= 2  and Forested =  1  then AreaEnd else  0  end) AreaUpWithForest
	, sum(Case when f.id= 2  and Forested =  0  then AreaEnd else  0  end) AreaUpNoForest
	, sum(Case when f.id= 2  and ProtectCategory != null then AreaEnd else  0  end) AreaProtect
	
	, sum(Case when f.id= 1  and Forested =  1  then AreaEnd else  0  end) AreaBottomWithForest
	, sum(Case when f.id= 1  and Forested =  0  then AreaEnd else  0  end) AreaBottomNoForest
	, sum(Case when f.id= 1  and ProtectCategory != null then AreaEnd else  0  end) AreaProtect
	
	, sum(Case when f.id= 3  and Forested =  1  then AreaEnd else  0  end) AreaDownWithForest
	, sum(Case when f.id= 3  and Forested =  0  then AreaEnd else  0  end) AreaDownNoForest
	, sum(Case when f.id= 3  and ProtectCategory != null then AreaEnd else  0  end) AreaProtect
	
	, sum(case when k.FireType =  1  then  1  else  0  end ) [Верховой]
	, sum(Case when k.FireType =  2  then  1  else  0  end ) [Низовой]
	, sum(case when k.FireType =  3  then  1  else  0  end ) [Подземный]
		
 from KULP k, FireType f
 where f.id = k.FireType
 group by k.FireType



--DROP
DROP table [dbo].[FireType]
DROP table [dbo].[KULP]
...
Рейтинг: 0 / 0
20.05.2011, 11:37
    #37271074
Stanislav L.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0, не возможно создать список полей для запроса
Начинающий SQL 2008,

Stanislav L.Можно ли организовать вывод так, что бы заголовки колонок были не цифры FireType, а названия из таблицы FireType?
Снова сорри не заголовки колонок а строки . Основной вопрос о расположении [Count_Up2], [Count_Up2],[Count_Up3] пока открыт.
...
Рейтинг: 0 / 0
20.05.2011, 13:03
    #37271319
Report Builder 3.0, не возможно создать список полей для запроса
Stanislav L.,

Код: plaintext
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.
use tempdb

--FireType
CREATE TABLE [dbo].[FireType] (id bigint IDENTITY( 1 , 1 ) NOT NULL, name varchar( 9 ) NULL) ON [PRIMARY]
INSERT INTO .[dbo].[FireType] (name) VALUES ('Верховой'),('Низовой'),('Подземный')

--KULP
CREATE TABLE [dbo].[KULP] (ProtectCategory char( 17 ) NULL, Forested bit NULL, AreaEnd decimal( 19 , 4 ) NULL, FireType varchar( 9 ) NULL,) ON [PRIMARY]
INSERT INTO .[dbo].[KULP] (ProtectCategory, Forested , AreaEnd , FireType) 
VALUES ('Защитные', 1 ,  0 . 50 ,  1 ),('Экпуатационные', 1 ,  1 . 40 ,  2 ),('Экпуатационные', 1 ,  0 . 35 ,  3 ),('Защитные', 1 ,  0 . 27 ,  2 ),('Защитные', 1 ,  1 . 14 ,  2 )


select k.FireType
	, sum(Case when f.id= 2  and Forested =  1  then AreaEnd else  0  end) AreaUpWithForest
	, sum(Case when f.id= 2  and Forested =  0  then AreaEnd else  0  end) AreaUpNoForest
	, sum(Case when f.id= 2  and ProtectCategory != null then AreaEnd else  0  end) AreaProtect
	
	, sum(Case when f.id= 1  and Forested =  1  then AreaEnd else  0  end) AreaBottomWithForest
	, sum(Case when f.id= 1  and Forested =  0  then AreaEnd else  0  end) AreaBottomNoForest
	, sum(Case when f.id= 1  and ProtectCategory != null then AreaEnd else  0  end) AreaProtect
	
	, sum(Case when f.id= 3  and Forested =  1  then AreaEnd else  0  end) AreaDownWithForest
	, sum(Case when f.id= 3  and Forested =  0  then AreaEnd else  0  end) AreaDownNoForest
	, sum(Case when f.id= 3  and ProtectCategory != null then AreaEnd else  0  end) AreaProtect
	
	, f.Name + char( 160 )+ '(' + cast(sum(case when k.FireType =  1  then  1  else  0  end) as varchar( 500 )) + ')' [Count_Up1]
	, f.Name + char( 160 )+ '(' + cast( sum(Case when k.FireType =  2  then  1  else  0  end ) as varchar( 500 )) + ')'  Count_Up2
	, f.Name + char( 160 )+ '(' + cast( sum(case when k.FireType =  3  then  1  else  0  end ) as varchar( 500 )) + ')'  Count_Up3
		
 from KULP k, FireType f
 where f.id = k.FireType
 group by k.FireType, f.Name


--DROP
DROP table [dbo].[FireType]
DROP table [dbo].[KULP]

Результат:
FireTypeAreaUpWithForestAreaUpNoForestAreaProtectAreaBottomWithForestAreaBottomNoForestAreaProtectAreaDownWithForestAreaDownNoForestAreaProtectCount_Up1Count_Up2Count_Up310.00000.00000.00000.50000.00000.00000.00000.00000.0000Верховой (1)Верховой (0)Верховой (0)22.81000.00000.00000.00000.00000.00000.00000.00000.0000Низовой (0)Низовой (3)Низовой (0)30.00000.00000.00000.00000.00000.00000.35000.00000.0000Подземный (0)Подземный (0)Подземный (1)
...
Рейтинг: 0 / 0
20.05.2011, 16:59
    #37271950
Stanislav L.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0, не возможно создать список полей для запроса
Начинающий SQL 2008,

Спасибо. Далее будет проще. Нужно было для "FireType", но из Вашего примера можно получить то, что нужно.
Можно закрывать.
Спасибо за помощь.
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Report Builder 3.0, не возможно создать список полей для запроса / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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