Гость
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Report Builder 3.0 пустые значения / 16 сообщений из 16, страница 1 из 1
14.08.2015, 11:04
    #39029278
demonicjesus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
Добрый день. По умолчанию RB не выводит строки значения в которых равны нулю. Подскажите как все таки выводить строку ( usl.uslFull это фиксированный список) если 'kolvo' = 0 ? В запросе ли дело, или может где то в RB находится эта настройка. Заранее спасибо!

Запрос:

Select usl.uslFull, Count(sbt.obor) as 'kolvo'
From usl, sbt, frm
Where sbt.[obor] LIKE '%' + usl.uslShort + '%' AND sbt.date >= @d1 AND sbt.date <= @d2 AND sbt.firm = frm.frmId AND frm.frmId='8'
Group By usl.uslFull
Order By usl.uslFull;
...
Рейтинг: 0 / 0
14.08.2015, 11:17
    #39029293
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
demonicjesus,
Не выводит в таблице, матрице или ещё где? сам запрос эти строки выводит как нули или что-то другое (или вообще не выводит)?
...
Рейтинг: 0 / 0
14.08.2015, 11:21
    #39029297
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
demonicjesus,

посмотрите ещё свойства таблицы, группы и т.д. Может где фильтр стоит...
...
Рейтинг: 0 / 0
14.08.2015, 12:13
    #39029349
demonicjesus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
сам запрос не выводит... мне надо выводить полный список из usl.uslFull

Попробую привести пример:
есть 3 таблицы:

Table1:
TableId - Ключ
TableValue - Значение

Table2:
Table2Id - Ключ
Table2Value - Значение

Table3:
TableId
Table2Id

Мне надо вывести полный список Table1.TableValue и поcчитать количество соприкосновений в Table3
...
Рейтинг: 0 / 0
14.08.2015, 12:15
    #39029352
demonicjesus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
и если соприкосновений 0, то выводить 0
...
Рейтинг: 0 / 0
14.08.2015, 12:34
    #39029371
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
demonicjesus,

а СУБД какая? Ещё нужны заполненные данные типа такого 16719090
...
Рейтинг: 0 / 0
14.08.2015, 12:58
    #39029392
demonicjesus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
user89,
MS SQL serv 2008

Я меня скудные знания в SQL, не много не понимаю о чем вы.

Допустим
Table1:
TableId | TableValue
1 знач1
2 знач2
3 знач3
4 знач4
5 знач5

Table2:
Table2Id | Table2Value
1 имя1
2 имя2
3 имя3
4 имя4
5 имя5

Table3:
TableId | Table2Id
2 1
2 1
1 1
5 2
5 2

Надо вывести
TableValue | Count (Table2Id)
знач1 1
знач2 2
знач3 0
знач4 0
знач5 2

Я правильно понял ваш вопрос?
...
Рейтинг: 0 / 0
14.08.2015, 16:02
    #39029592
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
demonicjesus,

если так не пойдет, то больше я не знаю
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare @t1 table (TableId int, TableValue varchar(max))
insert @t1 values (1, 'знач1'), (2, 'знач2'), (3, 'знач3'), (4, 'знач4'), (5, 'знач5')

declare @t2 table (Table2Id int, Table2Value varchar(max))
insert @t2 values (1, 'имя1'), (2, 'имя2'), (3, 'имя3'), (4, 'имя4'), (5, 'имя5')

declare @t3 table (TableId int, Table2Id int)
insert @t3 values (2,1), (2,1), (1,1), (5,2), (5,2)

select t1.TableValue, count(t3.TableId) [cnt]
from @t1 t1
left join @t3 t3 on t1.TableId = t3.TableId
group by t1.TableValue


TableValuecntзнач11знач22знач30знач40знач52
...
Рейтинг: 0 / 0
14.08.2015, 16:31
    #39029623
demonicjesus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
Спасибо, буду копать в данном направлении
...
Рейтинг: 0 / 0
14.08.2015, 16:43
    #39029638
demonicjesus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
И последний вопрос.... left join может работать с условием like?
...
Рейтинг: 0 / 0
14.08.2015, 17:08
    #39029663
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
demonicjesus,

ага.   В нашем случае, правда понадобится преобразование типа int в строку
Код: sql
1.
left join @t3 t3 on t1.TableId like '%' + cast(t3.TableId as varchar(max)) + '%'
...
Рейтинг: 0 / 0
17.09.2015, 14:33
    #39053944
demonicjesus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
И все же никак не могу понять, уже перечитал все форумы и учебники....

Вот запрос: SELECT
COUNT (sbt.sbtId) AS z,
stg.god
, frm.firma
FROM
sbt, stg, kln,frm
WHERE sbt.date > stg.date1 AND sbt.date < stg.date2
AND sbt.zflag = 1 AND sbt.kl = kln.klnId AND frm.frmId = sbt.firm
AND sbt.firm = @firma
GROUP BY stg.god, frm.firma

в таблице stg
god, date1, date2
2015-01, 01.01.2015 ,31.01.2015
2015-02, 01.02.2015, 28.02.2015
2015-03 ,01.03.2015 ,31.03.2015

и так далее... как сделать чтобы даже если z=0 выводилась строка stg.god
...
Рейтинг: 0 / 0
17.09.2015, 15:44
    #39054070
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
demonicjesus,

сложно сказать без входных данных... Лучше спросите в профильном форуме , там сидят крутые спецы (но надо выполнить Пункты 4 и 6 )
...
Рейтинг: 0 / 0
17.09.2015, 16:23
    #39054135
demonicjesus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
user89,
попытаюсь подробнее, откинув лишнее

stg
stgIdgoddate1date212015-0101.01.201531.01.201522015-0201.02.201528.02.201532015-0301.03.201531.03.201542015-0401.04.201530.04.2015

sbt
sbtId zflag datefirm11 01.01.2015120 01.01.2015131 01.02.2015140 01.02.2015251 02.02.2015261 03.02.2015170 04.02.2015181 05.02.2015190 06.02.20152101 01.03.20152110 01.03.20151121 01.03.20152

frm
frmIdfirma1XXX2YYY3WWW

Выполняем запросSELECT Count (sbt.sbtId), stg.god, frm.firma
FROM sbt, stg, frm
WHERE sbt.date > stg.date1
AND sbt.date < stg.date2
AND sbt.zflag = 1
AND frm.frmId = sbt.firm
AND sbt.firm = @firma
GROUP BY stg.god, frm.firma

При @firma=1
godcount(sbtId)2015-0112015-0232015-030

При @firma=2
godcount(sbtId)2015-0102015-0212015-032

При @firma=3
godcount(sbtId)2015-0102015-0202015-030

сейчас строки где count(sbtId) = 0 попросту не выводятся
...
Рейтинг: 0 / 0
17.09.2015, 16:31
    #39054148
demonicjesus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
прошу прощения, еще при каждом значении @firma должна выводится строка:
2015-040
...
Рейтинг: 0 / 0
17.09.2015, 19:59
    #39054384
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Report Builder 3.0 пустые значения
demonicjesus,

примерно так
Код: 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.
set dateformat dmy

declare @sbt table (sbtId int, zflag int, data date, firm int)
insert @sbt values (1, 1, '01.01.2015', 1), (2, 0, '01.01.2015', 1), (3, 1, '01.02.2015', 1), (4, 0, '01.02.2015', 2), (5, 1, '02.02.2015', 2), (6, 1, '03.02.2015', 1),
(7, 0, '04.02.2015', 1), (8, 1, '05.02.2015', 1), (9, 0, '06.02.2015', 2), (10, 1, '01.03.2015', 2), (11, 0, '01.03.2015', 1), (12, 1, '01.03.2015', 2)
--select * from @sbt

declare @stg table (stgId int, period varchar(7), date1 date, date2 date)
insert @stg values(1, '2015-01', '01.01.2015', '31.01.2015'), (2, '2015-02', '01.02.2015', '28.02.2015'), (3, '2015-03', '01.03.2015', '31.03.2015'),
(4, '2015-04', '01.04.2015', '30.04.2015')
--select * from @stg

declare @frm table (frmId int, firma varchar(500))
insert @frm values (1, 'XXX'), (2, 'YYY'), (3, 'WWW')
--select * from @frm


declare @firma int
select @firma = 1
--select @firma = 2 /* раскомментировать для проверки */
--select @firma = 3 /* раскомментировать для проверки */

;with t as (
  select count(*) [cnt], convert(char(7),sbt.data,126) [period], sbt.firm
  from @sbt sbt
  where sbt.zflag = 1 and firm = @firma
  group by convert(char(7),sbt.data,126), sbt.firm
)
select s.period, isnull(t.cnt,0) [cnt]
from @stg s
left join t on s.period = t.period
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Report Builder 3.0 пустые значения / 16 сообщений из 16, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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