powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Business Objects: добавление в запрос полей на основе значений из @Prompt(..)
8 сообщений из 8, страница 1 из 1
Business Objects: добавление в запрос полей на основе значений из @Prompt(..)
    #33269576
ante871
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Помогите пожалуйста разобраться.

Необходимо создать отчёт, где заранее неизвестно количество колонок.

Собственно есть хранимая процедура в базе: Процедура_расчёта(счёт,дата1, дата2)

Пользователь задаёт параметры: "дата", "N" (количество предыдущих месяцев) и выбирает необходимые объекты, например, счёт.

А отчёт должен состоять из колонок:

"счёт",
"Процедура_расчёта(счёт, дата-1месяц, дата)"
"Процедура_расчёта(счёт, дата-2месяца, дата-1месяц)"
"Процедура_расчёта(счёт, дата-3месяца, дата-2месяца)"
.....
"Процедура_расчёта(счёт, дата-N, дата-N-1)"

Можно такое реализвать в BO ??? Если нет, то как быть в такой ситуации?
...
Рейтинг: 0 / 0
Business Objects: добавление в запрос полей на основе значений из @Prompt(..)
    #33269679
Alexander Stoulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если я правильно понял, то нужно сделать кросстаблицу, по горизонтали которой был бы объект, представляющий собой нужное измерение.

Например: дату из списка (Дата, Дата -1 месяц, Дата -2 месяца, ... Дата -N месяцев)

Объект = (select Date from Calendar
where Date <= @Prompt(Дата...)
and Date >= add_month(Date, -N)
and НомерДняМесяца(Date) = НомерДняМесяца(TO_DATE('...',@Prompt(Дата...)))


P.S.
1) add_month - зависит от синтаксиса СУБД
2) последние условие зависит от того что вкладывать в понятие "Дата - 1 месяц"

С уважением, Стулов Александр
...
Рейтинг: 0 / 0
Business Objects: добавление в запрос полей на основе значений из @Prompt(..)
    #33269787
Titus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ante871
Необходимо создать отчёт, где заранее неизвестно количество колонок.

Кросс-таблица - однозначно
ante871
Собственно есть хранимая процедура в базе: Процедура_расчёта(счёт,дата1, Можно такое реализвать в BO ??? Если нет, то как быть в такой ситуации?
Для начала тебе нужно получить представление/таблицу:
Код: plaintext
счет, дата1, дата2, значение из процедуры

Ну а дальше - все просто.
Реализовать можно.
...
Рейтинг: 0 / 0
Business Objects: добавление в запрос полей на основе значений из @Prompt(..)
    #33271938
ante871
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
Сделал как посоветовали.

Только есть странность. В кросстаблице по горизонтали нексколько дат, слева счета, в теле таблицы соответственно рассчитанное значение. Так вот если значения по датам равны, то они находятся в одной строчке, а если различаются, то создаётся новая строчка для такого значения.

То есть если для счёта по датам значения различаются, то в кросстаблице этот счёт встречается несколько раз.

Почему так?
...
Рейтинг: 0 / 0
Business Objects: добавление в запрос полей на основе значений из @Prompt(..)
    #33272131
RS2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS2
Гость
определить значение как меру, а не измерение
...
Рейтинг: 0 / 0
Business Objects: добавление в запрос полей на основе значений из @Prompt(..)
    #33273152
ante871
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RS2определить значение как меру, а не измерение

Пытался.
Когда значение в теле таблицы - измерение, получается ситуация как описывал ранее. А если в теле таблицы - мера, то даже для одинаковых значений создаются отдельные строки.
...
Рейтинг: 0 / 0
Business Objects: добавление в запрос полей на основе значений из @Prompt(..)
    #33273208
ante871
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ante871 RS2определить значение как меру, а не измерение

Пытался.
Когда значение в теле таблицы - измерение, получается ситуация как описывал ранее. А если в теле таблицы - мера, то даже для одинаковых значений создаются отдельные строки.

Когда определял значение как меру, в поле агрегирующая функция установил "нет". Поменял на "среднее" и заработало как надо.
Спасибо всем.
...
Рейтинг: 0 / 0
Business Objects: добавление в запрос полей на основе значений из @Prompt(..)
    #33278405
ante871
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ante871 ante871 RS2определить значение как меру, а не измерение

Пытался.
Когда значение в теле таблицы - измерение, получается ситуация как описывал ранее. А если в теле таблицы - мера, то даже для одинаковых значений создаются отдельные строки.

Когда определял значение как меру, в поле агрегирующая функция установил "нет". Поменял на "среднее" и заработало как надо.
Спасибо всем.

К сожалению проблема с кросстаблицей не решилась. Если в свойствах объекта-меры устновить агрегирующую функцию "среднее", то симптомы исчезают. Но если в отчёте попытаться, например, суммировать полученные значения и вывести результат в независимую ячейку, то сумма неверна :(.

Интересно, что если в ячейках кросстаблицы заменить значение, полученное при запросе на переменную, которая просто повторяет это значение, то значения в кросстаблице располагаются верно.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Business Objects: добавление в запрос полей на основе значений из @Prompt(..)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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