72.Oracle数据库SQL开发之 高级查询——用CURRENTV获取某个维度的当前值

93 阅读1分钟

72.Oracle数据库SQL开发之 高级查询——用CURRENTV获取某个维度的当前值

欢迎转载,转载请标明出处:blog.csdn.net/notbaron/ar…\

CURRENTV函数用于获得某个维度的当前值。将2004年第一个月销量设置为2003年同月销量的1.25倍。

执行如下:

store@PDB1> selectprd_type_id,year,month,sales_amount from all_sales where prd_type_id between 1and 2 and emp_id=21

    model

    partitionby (prd_type_id)

    dimensionby (month,year)

    measures (amount sales_amount) (

   sales_amount[1,2004]=round(sales_amount[currentv(),2003]*1.25,2))

    order byprd_type_id,year,month;

PRD_TYPE_ID    YEAR       MONTH SALES_AMOUNT

----------- ---------- ----------------------

           1    2003              1     10034.84

           1    2003              2     15144.65

           1    2003              3     20137.83

           1    2003              4     25057.45

           1    2003              5     17214.56

           1    2003              6     15564.64

           1    2003              7     12654.84

           1    2003              8     17434.82

           1    2003              9     19854.57

           1    2003            10    21754.19

           1    2003            11    13029.73

           1    2003            12    10034.84

1   2004              1     12543.55

           2    2003              1      1034.84

           2    2003              2      1544.65

           2    2003              3      2037.83

           2    2003              4      2557.45

           2    2003              5      1714.56

           2    2003              6      1564.64

           2    2003              7      1264.84

           2    2003              8      1734.82

           2    2003              9      1854.57

           2    2003            10     2754.19

           2    2003            11     1329.73

           2    2003            12     1034.84

2   2004              1      1293.55

 

26 rows selected.