oci360 4i.2.274. Compartment: compt_test_db, between 2020-05-11 and 2020-06-20 (OCI360_REPORTS_COST)


Notes:
1) drag to zoom, and right click to reset
2) up to 31 days of awr history were considered

3)
 Name                                                                                Null?    Type
 ----------------------------------------------------------------------------------- -------- --------------------------------------------------------
 lineItem/referenceNo                                                                         VARCHAR2(4000)
 lineItem/tenantId                                                                            VARCHAR2(4000)
 lineItem/intervalUsageStart                                                                  VARCHAR2(4000)
 lineItem/intervalUsageEnd                                                                    VARCHAR2(4000)
 product/service                                                                              VARCHAR2(4000)
 product/compartmentId                                                                        VARCHAR2(4000)
 product/compartmentName                                                                      VARCHAR2(4000)
 product/region                                                                               VARCHAR2(4000)
 product/availabilityDomain                                                                   VARCHAR2(4000)
 product/resourceId                                                                           VARCHAR2(4000)
 usage/billedQuantity                                                                         VARCHAR2(4000)
 usage/billedQuantityOverage                                                                  VARCHAR2(4000)
 cost/subscriptionId                                                                          VARCHAR2(4000)
 cost/productSku                                                                              VARCHAR2(4000)
 product/Description                                                                          VARCHAR2(4000)
 cost/unitPrice                                                                               VARCHAR2(4000)
 cost/unitPriceOverage                                                                        VARCHAR2(4000)
 cost/myCost                                                                                  VARCHAR2(4000)
 cost/myCostOverage                                                                           VARCHAR2(4000)
 cost/currencyCode                                                                            VARCHAR2(4000)
 cost/billingUnitReadable                                                                     VARCHAR2(4000)
 cost/overageFlag                                                                             VARCHAR2(4000)
 lineItem/isCorrection                                                                        VARCHAR2(4000)
 lineItem/backreferenceNo                                                                     VARCHAR2(4000)
 tags/Oracle-Tags.CreatedBy                                                                   VARCHAR2(4000)
 tags/Oracle-Tags.CreatedOn                                                                   VARCHAR2(4000)
 tags/orcl-cloud.free-tier-retained                                                           VARCHAR2(4000)


WITH t1 AS (
  SELECT SUM("cost/myCost") COMPUTEDAMOUNT,
         TO_TIMESTAMP("lineItem/intervalUsageEnd",'YYYY-MM-DD"T"HH24:MI"Z"') ENDTIMEUTC
  FROM   OCI360_REPORTS_COST
  WHERE  "product/compartmentId" = 'ocid1.compartment.oc1..000000000000000000000000000000000000000000000000000000000223'
  GROUP BY TO_TIMESTAMP("lineItem/intervalUsageEnd",'YYYY-MM-DD"T"HH24:MI"Z"')
),
trange as (
  select trunc(min(TO_TIMESTAMP("lineItem/intervalUsageEnd",'YYYY-MM-DD"T"HH24:MI"Z"')),'HH24') min,
         trunc(max(TO_TIMESTAMP("lineItem/intervalUsageEnd",'YYYY-MM-DD"T"HH24:MI"Z"')),'HH24') max
  FROM   OCI360_REPORTS_COST
),
alldays as ( /*  Will generate all days between Min and Max Start Time */
  SELECT trunc(trange.min,'DD') + (rownum - 1) vdate,
         rownum seq
  FROM   trange
  WHERE  trange.min + (rownum - 1) <= trange.max - 1  /*  Skip last entry as may be incomplete. */
  CONNECT BY LEVEL <= (trange.max - trange.min) + 1
),
result as (
  select seq              snap_id,
         TO_CHAR(vdate,  'YYYY-MM-DD HH24:MI') begin_time,
         TO_CHAR(vdate+1,'YYYY-MM-DD HH24:MI') end_time,
         TO_CHAR(NVL(CEIL(SUM(COMPUTEDAMOUNT)*100)/100,0),'99999990D00') line1
  from   t1, alldays
  where  ENDTIMEUTC(+) >= vdate and ENDTIMEUTC(+) < vdate+1
  group by seq, vdate
),
statistics as (
  select REGR_SLOPE(line1,snap_id) slope,
         REGR_INTERCEPT(line1,snap_id) intercept
  from   result
)
select snap_id,
       begin_time,
       end_time,
       line1,
       TO_CHAR(CEIL((slope*snap_id+intercept)*100)/100,'99999990D00') line2,
       0                   dummy_03,
       0                   dummy_04,
       0                   dummy_05,
       0                   dummy_06,
       0                   dummy_07,
       0                   dummy_08,
       0                   dummy_09,
       0                   dummy_10,
       0                   dummy_11,
       0                   dummy_12,
       0                   dummy_13,
       0                   dummy_14,
       0                   dummy_15
from   result, statistics
order by snap_id;


40 rows selected.

oci360 (c) 2020, All rights reserved. oci360 v20.06 (2020-06-25) based on moat369 v2002 (2020-02-27). Timestamp: 2020-06-30T16:09:30