Search notes:

Oracle SQL MODEL clause example: Forecasting

create table sales (
   ctry  varchar2(20),
   prod  varchar2(20),
   yr    number  ( 4),
   qty   number  ( 5)
);
insert into sales values ('Argentina', 'Table', 2020,  220);
insert into sales values ('Argentina', 'Table', 2021,  248);
insert into sales values ('Brazil',    'Table', 2020,  515);
insert into sales values ('Brazil',    'Table', 2021,  602);
insert into sales values ('Chile',     'Table', 2020,   29);
insert into sales values ('Chile',     'Table', 2021,   42);

insert into sales values ('Argentina', 'Chair', 2020,  115);
insert into sales values ('Argentina', 'Chair', 2021,  134);
insert into sales values ('Brazil',    'Chair', 2020,  297);
insert into sales values ('Brazil',    'Chair', 2021,  368);
insert into sales values ('Chile',     'Chair', 2020,   14);
insert into sales values ('Chile',     'Chair', 2021,   22);

insert into sales values ('Argentina', 'Phone', 2020, 1244);
insert into sales values ('Argentina', 'Phone', 2021, 1590);
insert into sales values ('Brazil',    'Phone', 2020, 8190);
insert into sales values ('Brazil',    'Phone', 2021,10844);
insert into sales values ('Chile',     'Phone', 2020, 3103);
insert into sales values ('Chile',     'Phone', 2021, 4965);
Add a record for the year 2022, assuming that a product's growth in a country remains constant:
select 
   ctry,
   prod,
   yr,
   qty 
from 
   sales
model
   partition by (prod, ctry)
   dimension by (yr)
   measures     (qty)
   rules (
     qty[2022] = qty[2021] * (qty[2021]/qty[2020])
   )
order by
   yr,
   ctry,
   prod;

See also

The model clause.

Index

Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php:78 Stack trace: #0 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(78): PDOStatement->execute(Array) #1 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(30): insert_webrequest_('/notes/developm...', 1745356203, '3.17.191.196', 'Mozilla/5.0 App...', NULL) #2 /home/httpd/vhosts/renenyffenegger.ch/httpsdocs/notes/development/databases/Oracle/SQL/select/model/examples/forecast(83): insert_webrequest() #3 {main} thrown in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php on line 78