|   |   | 
| 
 | СКД и различные произвольные периоды в кросс-таблице | ☑ | ||
|---|---|---|---|---|
| 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) Спасибо. Еще вчера сделал.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |