СКД вывод данных за разные периоды

Отзывов (6)FavoriteLoadingВ закладки

Добрый день подскажите как можно сделать такую штуку на скд. Пользователь указывает период например, текущий месяц, а ему показывают данные за тот месяц который он выбрал(1 колонка ) + за предыдущий месяц(2 колонка). Пользователь всегда будет выбирать период месяц, т.к. интересуют данные только за 1 месяц. Просто можно сделать через обьединение запросов, а вот как задать второй период  парметром или еще както… И как будет более правильно сделать это одним запросом, через обьединить или соединить наборы даных в СКД?

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

6 Коммент.

  1. Допустим есть 2 параметра
    ДанаНач
    ДатаКон
    Можно создать еще 2 параметра
    ДатаНачМесяцНазад
    ДатаКонМесяцНазад
    В поле “Выражение” на закладке “Параметры” для
    ДатаНачМесяцНазад указать “ДобавитьМесяц(&ДатаНач,-1)”
    ДатаКонМесяцНазад указать “ДобавитьМесяц(&ДатаКон,-1)”
    Что касается соединения или объединения, то с точки зрения производительности объединение лучше.

  2. Не “ДобавитьМесяц(&ДатаНач,-1)”, а ДобавитьКДате(&ДатаНач,”Месяц”,-1)
    И не работает эта штука, сам неделю бьюсь с таким. Хоть два набора данных, хоть два запроса в одном наборе данных, СКД тупо игнорирует все явно указанные параметры и использует для всего &ДатаНач и &ДатаКон, получаются одинаковые данные за оба периода, а именно за указанный период, ДобавитьКДате игнорируется.
    Как заставить СКД выполнять запросы по РАЗНЫМ периодам?

  3. “Победил” следующим образом (надо получать обороты за периоды с разницей год):
    В СКД для параметра ДатаНачала установил выражение ДобавитьКДате(&ДатаНачала, “Год”, -1)
    Таким образом СКД будет брать данные с начала прошлого периода, т.е. год назад, до конца текущего периода.
    В наборе данных сделал во вложенном запросе объединение запросов, установил в настройках периоды и в условиях к каждому запросу жестко прописал ограничения Периода относительно ДатаНачала и ДатаКонца с применением ДОБАВИТЬКДАТЕ. Ну и группировку во вложенном запросе по итогам выполнения объединения запросов.
    Таким образом СКД выгребает данные за весь период в год с лишним, а каждый из запросов в объединении из этого всего выбирает и выдает то, что нужно именно ему.
    Если есть более “изящное” решение – поделитесь, буду весьма признателен.

  4. Не нужно указывать стандартные параметры “НачалоПериода” и “КонецПериода”, т.е. ставим на них ограничение использования и в параметрах виртуальных таблиц ставим свои параметры. Ибо СКД при указании предопределенных параметров, почему то пихает эти параметры во все виртуальные таблицы регистров.

  5. Достаточно указать параметр в фигурных скобках : Остатки.СрезПоследних( {(конецпериода(&Дата,день))}, ), этим мы укажем явно параметр для СКД и автоматически параметр создаваться не будет. В конструкторе запроса на вкладке “компопновка данных” есть подвкладка “таблицы” – там можно задать параметры виртуальных таблиц для СКД , если привыкли к конструктору.

  6. Народ так я так и не понял как мне из двух наборов данных в один столбец вывести данные например за январь 2017 а в другой столбец за январь 2016 номенклатура одинаковая

Оставить комментарий

RSSКомментарии в RSS

Авторизация

Логин:
Пароль:
Регистрация

Архивы

Закладки

  • Your favorites will be here.