Модельное предложение в Oracle - PullRequest
5 голосов
/ 03 августа 2010

Я недавно склонялся к жаргонизму Oracle, и чем больше я изучаю, тем больше меня привлекает.

Недавно я столкнулся с предложением MODEL , но, если честно, я не понимаю, как это происходит. Может ли кто-нибудь с некоторыми примерами, пожалуйста, дайте мне знать об этом.

Заранее спасибо

Ответы [ 3 ]

4 голосов
/ 18 апреля 2012

Я думаю, что предложение MODEL довольно просто понять, когда вы медленно читаете официальный документ .На мой взгляд, в техническом описании шаг за шагом хорошо объясняется предложение MODEL, добавляя по одному элементу за раз, исключая из официальной документации наиболее продвинутые функции.Легко понять, когда на самом деле использовать предложение MODEL.В некоторых примерах гораздо проще выполнять операции, аналогичные таблицам Excel, используя MODEL, чем, например, используя оконные функции, CONNECT BY или факторинг подзапроса.Подумайте об Excel.Всякий раз, когда вы хотите определить сложный набор правил для столбцов Excel, используйте предложение MODEL.Пример правил электронной таблицы Excel:

A10 = A9 + A8
B10 = A10 * 5
C10 = MAX(A1:A9)
D10 = C10 / A10

Другими словами, MODEL является очень мощной электронной таблицей SQL!

4 голосов
/ 03 августа 2010

Некоторые примеры МОДЕЛИ приведены здесь .

Лично я несколько раз смотрел на МОДЕЛЬ, но пока не нашел подходящего варианта. Хотя это сначала кажется полезным, во многих местах работают только литералы (а не привязки или переменные), которые ограничивают его гибкость. Например, при вычислениях между рядами вы не можете легко ссылаться на «предыдущий» или «следующий» ряд, но должны иметь возможность абсолютно идентифицировать его по его атрибутам. Таким образом, вы не можете сказать «взять значение строки с той же датой в предыдущем месяце», но можете кодировать только определенную дату.

Может использоваться (внутри) некоторыми аналитическими инструментами. Но, как инструмент конечного пользователя, я никогда не «получал» его. Ранее я рекомендовал, что если вы когда-нибудь найдете проблему, которую, по вашему мнению, можно решить с помощью предложения MODEL, иди и ложись, пока чувство не исчезнет.

0 голосов
/ 23 августа 2013

Лучшее объяснение в официальном официальном документе.Он использует демо-схему SH, и она вам действительно нужна.

http://www.oracle.com/technetwork/middleware/bi-foundation/10gr1-twp-bi-dw-sqlmodel-131067.pdf

Я не думаю, что они очень хорошо объясняют это.Он в основном позволяет загружать данные в массив и затем циклически проходить по массиву, используя прямой SQL, вместо того, чтобы писать процедурную логику.Многие термины основаны на терминах электронных таблиц (они используются в справке Excel).Так что если у вас есть их в Excel, это будет сбивать с толку.

Они должны были нарисовать картинку для каждого из запросов и показать созданный массив, чем показать, как вы смотрите через массив.Синтаксис выглядит как основанный на синтаксисе Excel.Я не уверен, является ли это общим для всех инструментов электронных таблиц или нет.

Имеет использование.Подбор бин является наиболее распространенным.Смотрите 2-й пример.По сути, это сложная группа, в которой вы группируете по диапазону, но этот диапазон может измениться.Требуется процедурная логика.Пример дает 3 способа сделать это, одним из которых является предложение модели.

http://www.oracle.com/technetwork/issue-archive/2012/12-mar/o22asktom-1518271.html

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...