Как создать представление, чтобы отфильтровать определенные результаты и сгруппировать их в отчетах Oracle?

На самом деле я работаю над отчетами Oracle. Одна из ситуаций, с которой я сталкиваюсь, заключается в создании параметра для отчетов, который является типом сборов. У меня есть таблица с именем type_of_fees, и один из столбцов называется type_of_fees.

У меня есть несколько записей, таких как:

  • ежемесячная аренда 1
  • ежемесячная аренда 2
  • ежемесячная аренда 3
  • депозит на 1 месяц
  • депозит 2 месяца
  • Плата за кондиционер
  • Полезность
  • 1 месяц вперед - недельная аренда

Для параметра я хотел бы иметь список значений для выбора из раскрывающегося списка:

  1. Ежемесячная аренда
  2. Депозиты
  3. Кондиционирование воздуха
  4. Утилиты
  5. Другие

Поэтому я хотел бы, чтобы когда пользователь выбирал ежемесячную аренду, он отображал типы ежемесячной аренды, которые я получил в таблице: _ежемесячная аренда 1, ежемесячная аренда 2, ежемесячная аренда 3.

Я также хотел бы, чтобы другие записи, такие как аванс за 1 месяц и недельная аренда, были помещены в раздел «Другие» при выборе. Теперь, если я не ошибаюсь, мне нужно создать представление, чтобы упростить задачу.

Я бы предположил, что нужны такие столбцы, как SELECTION_TYPE и TYPE_OF_FEES.

как мне вставить пользовательские записи, например, для ТИПА ВЫБОРА, которые будут отображать соответствующий тип сборов?

пример представления:

----------------------------------
selection_type | type_of_fees    |
----------------------------------
Monthly Rental  | monthly rental 1
----------------------------------
Monthly Rental  | monthly rental 2
----------------------------------
Monthly Rental  | monthly rental 3
----------------------------------
Deposits        | 1 month deposit
----------------------------------
Deposits        | 2 months deposit
----------------------------------
Airconditioning | Aircond charges
----------------------------------
Utilities       | Utility
----------------------------------
Others          | 1 month advance
----------------------------------
Others          | weekly rental
----------------------------------

Как мне это создать? особенно часть для создания данных для столбца selection_type. Я не очень хорошо знаком с созданием представлений.

У меня нет проблем с запросом данных, которые я собираюсь использовать, но мне просто нужно создать представление, чтобы я мог использовать selection_type для более простого запроса:

SELECT DISTINCT TYPE_OF_FEES FROM TYPE_OF_FEES
WHERE TYPE_OF_FEES LIKE '%deposit%'

Кстати, я на Oracle. Пожалуйста, если кто-нибудь может объяснить и помочь.


person Psychocryo    schedule 12.09.2012    source источник


Ответы (2)


Я собираюсь предположить, что вы имеете в виду Oracle Reportwriter / Reportbuilder, продукт в комплекте с Oracle Forms?

Oracle Reports вы должны начать с основ. Создайте отчет для выбора всех данных независимо от selection_type. Это позволит вам сконцентрироваться на структуре запроса и структурировании отчета. Очень важно правильно составить структуру отчета и использовать ее в качестве основы для создания отчета мастером отчетов. Затем вы соответствующим образом настраиваете сгенерированный отчет.

После того, как вы определили структуру, создайте форму параметров и добавьте параметры в запрос.

Вероятно, вы хотите создать два поля параметров LOV, первое из которых — selection_type, а второе — type_of_fees. Последнее зависит от значения, введенного в первом.

Документация по форме параметров отчетов Oracle

person OraNob    schedule 12.09.2012
comment
спасибо за ваш ответ, но в моем случае я сделал отчет. все, что я хочу, это создать параметр selection_type, чтобы я мог выбрать один выбор, и отчет будет фильтровать и отображать его. неважно. Я получил решение сейчас. - person Psychocryo; 14.09.2012

Я собираюсь ответить на свой вопрос, так как я нашел способ создать представление с этим конкретным selection_type для каждого type_of_fees, которое я могу использовать CASE WHEN.

используя это, я могу построить представление, как я хочу, с новыми столбцами.

person Psychocryo    schedule 14.09.2012