# | SNAP_ID | BEGIN_TIME | END_TIME | LINE1 | LINE2 |
---|---|---|---|---|---|
1 | 1 | 2020-05-11 00:00 | 2020-05-12 00:00 | 0.00 | 0.01 |
2 | 2 | 2020-05-12 00:00 | 2020-05-13 00:00 | 0.00 | 0.01 |
3 | 3 | 2020-05-13 00:00 | 2020-05-14 00:00 | 0.00 | 0.01 |
4 | 4 | 2020-05-14 00:00 | 2020-05-15 00:00 | 0.00 | 0.01 |
5 | 5 | 2020-05-15 00:00 | 2020-05-16 00:00 | 0.00 | 0.01 |
6 | 6 | 2020-05-16 00:00 | 2020-05-17 00:00 | 0.00 | 0.01 |
7 | 7 | 2020-05-17 00:00 | 2020-05-18 00:00 | 0.00 | 0.01 |
8 | 8 | 2020-05-18 00:00 | 2020-05-19 00:00 | 0.00 | 0.01 |
9 | 9 | 2020-05-19 00:00 | 2020-05-20 00:00 | 0.00 | 0.01 |
10 | 10 | 2020-05-20 00:00 | 2020-05-21 00:00 | 0.00 | 0.01 |
11 | 11 | 2020-05-21 00:00 | 2020-05-22 00:00 | 0.00 | 0.01 |
12 | 12 | 2020-05-22 00:00 | 2020-05-23 00:00 | 0.00 | 0.01 |
13 | 13 | 2020-05-23 00:00 | 2020-05-24 00:00 | 0.00 | 0.01 |
14 | 14 | 2020-05-24 00:00 | 2020-05-25 00:00 | 0.00 | 0.01 |
15 | 15 | 2020-05-25 00:00 | 2020-05-26 00:00 | 0.00 | 0.01 |
16 | 16 | 2020-05-26 00:00 | 2020-05-27 00:00 | 0.00 | 0.01 |
17 | 17 | 2020-05-27 00:00 | 2020-05-28 00:00 | 0.00 | 0.01 |
18 | 18 | 2020-05-28 00:00 | 2020-05-29 00:00 | 0.01 | 0.01 |
19 | 19 | 2020-05-29 00:00 | 2020-05-30 00:00 | 0.01 | 0.01 |
20 | 20 | 2020-05-30 00:00 | 2020-05-31 00:00 | 0.01 | 0.01 |
21 | 21 | 2020-05-31 00:00 | 2020-06-01 00:00 | 0.01 | 0.01 |
22 | 22 | 2020-06-01 00:00 | 2020-06-02 00:00 | 0.01 | 0.01 |
23 | 23 | 2020-06-02 00:00 | 2020-06-03 00:00 | 0.01 | 0.01 |
24 | 24 | 2020-06-03 00:00 | 2020-06-04 00:00 | 0.01 | 0.01 |
25 | 25 | 2020-06-04 00:00 | 2020-06-05 00:00 | 0.00 | 0.01 |
26 | 26 | 2020-06-05 00:00 | 2020-06-06 00:00 | 0.00 | 0.01 |
27 | 27 | 2020-06-06 00:00 | 2020-06-07 00:00 | 0.01 | 0.01 |
28 | 28 | 2020-06-07 00:00 | 2020-06-08 00:00 | 0.01 | 0.01 |
29 | 29 | 2020-06-08 00:00 | 2020-06-09 00:00 | 0.01 | 0.01 |
30 | 30 | 2020-06-09 00:00 | 2020-06-10 00:00 | 0.01 | 0.01 |
31 | 31 | 2020-06-10 00:00 | 2020-06-11 00:00 | 0.01 | 0.01 |
32 | 32 | 2020-06-11 00:00 | 2020-06-12 00:00 | 0.01 | 0.01 |
33 | 33 | 2020-06-12 00:00 | 2020-06-13 00:00 | 0.01 | 0.01 |
34 | 34 | 2020-06-13 00:00 | 2020-06-14 00:00 | 0.00 | 0.01 |
35 | 35 | 2020-06-14 00:00 | 2020-06-15 00:00 | 0.00 | 0.01 |
36 | 36 | 2020-06-15 00:00 | 2020-06-16 00:00 | 0.00 | 0.01 |
37 | 37 | 2020-06-16 00:00 | 2020-06-17 00:00 | 0.00 | 0.01 |
38 | 38 | 2020-06-17 00:00 | 2020-06-18 00:00 | 0.00 | 0.01 |
39 | 39 | 2020-06-18 00:00 | 2020-06-19 00:00 | 0.00 | 0.01 |
40 | 40 | 2020-06-19 00:00 | 2020-06-20 00:00 | 0.00 | 0.01 |
#: click on a column heading to sort on it
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/resourceId" = 'oci360_bucket'
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.