powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Вывод данных в Report Visual Studio с условиями и группировкой
6 сообщений из 6, страница 1 из 1
Вывод данных в Report Visual Studio с условиями и группировкой
    #38473274
nnmserg11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для формирования отчета пользователь задает переменные (даты) от X до Y .
В отчете формируются задачи, у которых есть сроки выполнения (даты) от D1 до D2 .
При этом, в зависимости от даты выполнения задач и формирования отчета возможны 3 ситуации:



1. D1 < X and D2 in (X,Y)
Задача должна выводиться в дату X

2. D1 in (X,Y) and D2 > Y
Задача должна выводиться в дату D1

3. D1 and D2 in (X,Y)
Задача должна выводиться в дату D1

А вот как необходимо выводить задачи в отчете…
1. В зависимости от ситуации, задачи должны выводиться в определенную дату отчета;
2. Группировка задач по датам отчета.

Не понимаю, как выполнить эти условия ... вернее куда условия писать (не то в группировке описывать If, или вытянуть переменные X и Y в Dataset и для новой переменной вычислять разницу в днях между датами и по этому полю делать группировку).
...
Рейтинг: 0 / 0
Вывод данных в Report Visual Studio с условиями и группировкой
    #38473513
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nnmserg11Для формирования отчета пользователь задает переменные (даты) от X до Y.
В отчете формируются задачи, у которых есть сроки выполнения (даты) от D1 до D2.
При этом, в зависимости от даты выполнения задач и формирования отчета возможны 3 ситуации...
На самом деле ситуаций больше:
4. Х и У меньше D1
5. Х и У больше D2
6. Х меньше D1 и У больше D2

nnmserg111. D1 < X and D2 in (X,Y)
Задача должна выводиться в дату X
2. D1 in (X,Y) and D2 > Y
Задача должна выводиться в дату D1
3. D1 and D2 in (X,Y)
Задача должна выводиться в дату D1
Сложно...
На самом деле задача о пересечении 2-х отрезков решается одним неравенством. Для нашего случая это
Код: sql
1.
Y >= D1 and X <= D2


Скрипт для проверки
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
set dateformat dmy

declare @x datetime, @y datetime
declare @t table (TaskName varchar(900), d1 datetime, d2 datetime)
insert @t values ('Задача 1', '01.02.2013', '14.02.2013'), ('Задача 2', '05.02.2013', '20.02.2013'), ('Задача 3', '01.03.2013', '31.03.2013')
select TaskName, convert(char(10),d1,104) [d1], convert(char(10),d2,104) [d2] from @t

-- С 5 февраля по 15 февраля
select @x = '05.02.2013', @y = '15.02.2013'
select TaskName, convert(char(10),d1,104) [d1], convert(char(10),d2,104) [d2]
from @t
where @y >= d1 and @x <= d2

-- С 20 марта по 10 апреля
select @x = '20.03.2013', @y = '10.04.2013'
select TaskName, convert(char(10),d1,104) [d1], convert(char(10),d2,104) [d2]
from @t
where @y >= d1 and @x <= d2
...
Рейтинг: 0 / 0
Вывод данных в Report Visual Studio с условиями и группировкой
    #38473755
nnmserg11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user89,

Привет.
Да, случаи 4,5,6 имеют место, но для отчета они не нужны, поэтому я их не рассматриваю.

В моем случае условия схлопнулись до 2-х (если D1 <= Y или нет)... и все оказалось намного проще)

Добавил столбец в DataSet, в котором описал условие:
=IIf(Parameters!Y.Value>=Fields!D1.Value,Parameters!Y.Value,Fields!D1.Value)

После чего группирую по этому столбцу)
...
Рейтинг: 0 / 0
Вывод данных в Report Visual Studio с условиями и группировкой
    #38473764
nnmserg11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят,
а никто не подскажет, я делаю группировку по столбцу1 с датой,
у столбца1 формат dd.MM.yyyy,
столбец1 берется из столбца2 в котором есть и время.

При группировке, если у нескольких строк одна дата, но разное время - не группируются. Как сгруппировать их?//
На фото: столбец1, столбец2

...
Рейтинг: 0 / 0
Вывод данных в Report Visual Studio с условиями и группировкой
    #38473807
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nnmserg11,

в свойствах группы (где Group on ), пишем выражение
Код: sql
1.
=FormatDateTime(Fields!data.Value, DateFormat.ShortDate)
...
Рейтинг: 0 / 0
Вывод данных в Report Visual Studio с условиями и группировкой
    #38473819
nnmserg11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user89,

Блин, спасибо!)

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


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