|
СКД и различные произвольные периоды в кросс-таблице | ☑ | ||
---|---|---|---|---|
0
SiAl-chel
13.06.17
✎
08:59
|
Доброго дня, коллеги. Вопросы есть к тем, кто хорошо знает СКД, либо сталкивался с похожей задачей.
Задача такова: 1. Есть отчет на СКД с какими-то суммовыми показатели, есть какие-то группировки. 2. Есть таблица значений "периоды" с началом и окончанием периодов, которую пользователь заполняет произвольно. 3. Нужно сделать так, чтобы эти строки из ТЗ "Периоды" стали доступны как поля в СКД, чтобы по ним можно было выводить колонки с суммовыми показателями. Какие могут быть решения? Я пока вижу только два: 1. Программно менять текст запроса, используя ПОЛНОЕ СОЕДИНЕНИЕ для каждого периода. 2. Выгрузить таблицу периодов во временную таблицу, и потом ее уже соединять с таблицами существующим запросом, чтобы можно было сделать группировки по произвольным периодам. Что делать, чтобы работало быстрее и меньше было бы кода? |
|||
1
PiotrLoginov
13.06.17
✎
09:07
|
мало исходных данных. склоняюсь к 2. И еще: зачастую приходится выбирать между "чтобы работало быстрее" и "меньше было бы кода"
|
|||
2
SiAl-chel
13.06.17
✎
09:12
|
(1) Проще говоря это обороты по продаже за период. Нужен сравнительный анализ за произвольное количество произвольных периодов, список которых пользователь сам создает и редактирует. Могут быть как стандартные периоды типа Месяц, Неделя, так и произвольные - два или девять дней.
|
|||
3
d4rkmesa
14.06.17
✎
08:47
|
Какой-нибудь справочник с настройкой периодов, аналогичный к примеру, справочнику "Настройка интервалов [просроченной задолженности]" в УПП. Либо программно заполнять группировку по интервалам. Можно использовать 2 схемы компоновки, одна - "пустышка" для пользователя с источником данных из ТЗ, где он сможет задавать отборы и параметры, и вторая с запросом по оборотным данным(с группировкой по какому-нибудь стандартному минимальному интервалу, к примеру, по дням), который выводится в ТЗ и приводится к нужному виду(к примеру, добавляются колонки с датой и представлением периодов, по которым сможем группировать). Отборы и периоды, конечно же, не забываем заполнять программно из первой схемы.
|
|||
4
mistеr
14.06.17
✎
10:26
|
(0) Я за решение 2. СКД соединять по вхождению в период не умеет (позор!), поэтому только в запросе. Программно формировать запрос - однозначно больше кода. А производительность ИМХО будет одинаковая.
|
|||
5
SiAl-chel
14.06.17
✎
10:50
|
(3) Плохо знаю СКД. Для данного решения надо два макета схемы КД и потом в модуле обработки переназначить отборы и периоды? А зачем вторая схема КД, если все это можно наложить на первую?
|
|||
6
d4rkmesa
15.06.17
✎
22:34
|
(5) Вторая схема для заполнения отборов, параметров и вывода в нужном виде, к примеру, в виде кросс-таблицы. Хотя, может можно воспользоваться одной, программно переназначая источники и группировки, однако мне кажется это сложнее.
|
|||
7
Defender aka LINN
16.06.17
✎
07:38
|
(0) 2 набора данных.
Первый - набор данных-объект, в котором даты начала и окончания, и поле группировки (представление периода, например). Второй набор - запрос. И настроить соединение наборов примерно как тут: Книга знаний: Срез последних на каждую дату в запросе |
|||
8
SiAl-chel
16.06.17
✎
07:55
|
(7) Спасибо. Еще вчера сделал.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |