Merged PR 5058: Propagate API deals to growth score
# Description I opted to name the combination of (Platform) Billable Bookings and (API) Billable Verifications as Billable Items. This is to ensure consistent naming. Changes: * Renamed `int_kpis_projected__agg_daily_billable_bookings` to `int_kpis_projected__agg_daily_billable_items`. This now has a new CTE named combination_of_billable_items that combines both API and Platform billable items. Renamed any "bookings" field to "items". * Renamed `int_kpis_projected__agg_monthly_billable_bookings` to `int_kpis_projected__agg_monthly_billable_items`. Renamed any "bookings" field to "items". * Renamed `int_billable_bookings_growth_score_by_deal` to `int_billable_items_growth_score_by_deal`. This now has a new CTE named `aggregated_monthly_billable_items` that combines the historical information both API and Platform on billable items. Renamed any "bookings" field to "items". * Changes Schema accordingly. Small note here that the assert dimension completeness stops working since there's dimensions specific to API or Platform, thus I removed it. # Checklist - [X] The edited models and dependants run properly with production data. - [X] The edited models are sufficiently documented. - [X] The edited models contain PK tests, and I've ran and passed them. - [X] I have checked for DRY opportunities with other models and docs. - [X] I've picked the right materialization for the affected models. # Other - [ ] Check if a full-refresh is required after this PR is merged. Related work items: #29374
This commit is contained in:
parent
8901cc85ec
commit
0ffcfca6a8
6 changed files with 288 additions and 258 deletions
|
|
@ -11,11 +11,31 @@ with
|
|||
int_kpis__agg_daily_billable_bookings as (
|
||||
select * from {{ ref("int_kpis__agg_daily_billable_bookings") }}
|
||||
),
|
||||
int_kpis__agg_daily_api_billable_verifications as (
|
||||
select * from {{ ref("int_kpis__agg_daily_api_billable_verifications") }}
|
||||
),
|
||||
combination_of_billable_items as (
|
||||
select
|
||||
coalesce(bb.date, abv.date) as date,
|
||||
coalesce(bb.dimension, abv.dimension) as dimension,
|
||||
coalesce(bb.dimension_value, abv.dimension_value) as dimension_value,
|
||||
sum(
|
||||
coalesce(bb.billable_bookings, 0)
|
||||
+ coalesce(abv.billable_verifications, 0)
|
||||
) as billable_items
|
||||
from int_kpis__agg_daily_billable_bookings bb
|
||||
full outer join
|
||||
int_kpis__agg_daily_api_billable_verifications abv
|
||||
on bb.date = abv.date
|
||||
and bb.dimension = abv.dimension
|
||||
and bb.dimension_value = abv.dimension_value
|
||||
group by 1, 2, 3
|
||||
),
|
||||
same_month_trend as (
|
||||
-- Computes the daily bookings based on the same month trend.
|
||||
-- Computes the daily billable items based on the same month trend.
|
||||
-- If the latest available date is the 20th of the month, then the daily
|
||||
-- bookings will be computed from the 1st to the 20th of the month (so 20 days
|
||||
-- in total).
|
||||
-- billable items will be computed from the 1st to the 20th of the month
|
||||
-- (so 20 days in total).
|
||||
select
|
||||
dd.last_day_month,
|
||||
mm.dimension,
|
||||
|
|
@ -24,17 +44,17 @@ with
|
|||
sum(
|
||||
case
|
||||
when dd.is_available_for_same_month_projection
|
||||
then coalesce(mm.billable_bookings, 0)
|
||||
then coalesce(mm.billable_items, 0)
|
||||
else 0
|
||||
end
|
||||
),
|
||||
0
|
||||
) as same_month_trend_total_billable_bookings,
|
||||
) as same_month_trend_total_billable_items,
|
||||
coalesce(
|
||||
1.0 * sum(
|
||||
case
|
||||
when dd.is_available_for_same_month_projection
|
||||
then coalesce(mm.billable_bookings, 0)
|
||||
then coalesce(mm.billable_items, 0)
|
||||
else 0
|
||||
end
|
||||
)
|
||||
|
|
@ -49,7 +69,7 @@ with
|
|||
0
|
||||
),
|
||||
0
|
||||
) as same_month_trend_daily_billable_bookings,
|
||||
) as same_month_trend_daily_billable_items,
|
||||
max(
|
||||
case
|
||||
when dd.is_available_for_same_month_projection
|
||||
|
|
@ -58,14 +78,14 @@ with
|
|||
end
|
||||
) as same_month_trend_total_available_days
|
||||
from int_kpis_projected__dimension_dates dd
|
||||
inner join int_kpis__agg_daily_billable_bookings mm on dd.date = mm.date
|
||||
inner join combination_of_billable_items mm on dd.date = mm.date
|
||||
group by 1, 2, 3
|
||||
),
|
||||
last_7_days_trend as (
|
||||
-- Computes the daily bookings based on the last 7 days trend.
|
||||
-- Computes the daily billable items based on the last 7 days trend.
|
||||
-- If the latest available date is the 20th of the month, then the daily
|
||||
-- bookings will be computed from the 13th to the 20th of the month (so 7 days
|
||||
-- in total).
|
||||
-- billable items will be computed from the 13th to the 20th of the month
|
||||
-- (so 7 days in total).
|
||||
select
|
||||
dd.last_day_month,
|
||||
mm.dimension,
|
||||
|
|
@ -74,27 +94,27 @@ with
|
|||
sum(
|
||||
case
|
||||
when dd.is_available_for_same_month_projection
|
||||
then coalesce(mm.billable_bookings, 0)
|
||||
then coalesce(mm.billable_items, 0)
|
||||
else 0
|
||||
end
|
||||
),
|
||||
0
|
||||
) as last_7_days_trend_total_billable_bookings,
|
||||
) as last_7_days_trend_total_billable_items,
|
||||
coalesce(
|
||||
1.0 * sum(
|
||||
case
|
||||
when dd.is_available_for_same_month_projection
|
||||
then coalesce(mm.billable_bookings, 0)
|
||||
then coalesce(mm.billable_items, 0)
|
||||
else 0
|
||||
end
|
||||
)
|
||||
/ 7,
|
||||
0
|
||||
) as last_7_days_trend_daily_billable_bookings,
|
||||
) as last_7_days_trend_daily_billable_items,
|
||||
7 as last_7_days_trend_total_available_days
|
||||
from int_kpis_projected__dimension_dates dd
|
||||
inner join
|
||||
int_kpis__agg_daily_billable_bookings mm
|
||||
combination_of_billable_items mm
|
||||
on mm.date between dd.previous_6_days and dd.date
|
||||
where is_available_for_last_7_days_projection = true
|
||||
group by 1, 2, 3
|
||||
|
|
@ -107,24 +127,24 @@ with
|
|||
|
||||
-- Combination of two sources of trends: same month and last 7 days.
|
||||
coalesce(
|
||||
smt.same_month_trend_daily_billable_bookings, 0
|
||||
) as same_month_trend_daily_billable_bookings,
|
||||
smt.same_month_trend_daily_billable_items, 0
|
||||
) as same_month_trend_daily_billable_items,
|
||||
coalesce(
|
||||
l7dt.last_7_days_trend_daily_billable_bookings, 0
|
||||
) as last_7_days_trend_daily_billable_bookings,
|
||||
l7dt.last_7_days_trend_daily_billable_items, 0
|
||||
) as last_7_days_trend_daily_billable_items,
|
||||
round(
|
||||
(
|
||||
coalesce(smt.same_month_trend_daily_billable_bookings, 0)
|
||||
+ coalesce(l7dt.last_7_days_trend_daily_billable_bookings, 0)
|
||||
coalesce(smt.same_month_trend_daily_billable_items, 0)
|
||||
+ coalesce(l7dt.last_7_days_trend_daily_billable_items, 0)
|
||||
)
|
||||
/ 2,
|
||||
0
|
||||
) as projected_daily_billable_bookings,
|
||||
) as projected_daily_billable_items,
|
||||
|
||||
-- Total billable bookings for the same month and last 7 days
|
||||
-- Total billable items for the same month and last 7 days
|
||||
-- for information purposes
|
||||
smt.same_month_trend_total_billable_bookings,
|
||||
l7dt.last_7_days_trend_total_billable_bookings,
|
||||
smt.same_month_trend_total_billable_items,
|
||||
l7dt.last_7_days_trend_total_billable_items,
|
||||
|
||||
-- Total available days for the same month and last 7 days
|
||||
-- for information purposes
|
||||
|
|
@ -156,12 +176,12 @@ select
|
|||
-- future. This accounts for all the real historical data.
|
||||
case
|
||||
when not dd.is_in_the_future then 'ACTUAL' else 'PROJECTED'
|
||||
end as daily_billable_bookings_for_reporting_source,
|
||||
end as daily_billable_items_for_reporting_source,
|
||||
case
|
||||
when not dd.is_in_the_future
|
||||
then coalesce(mm.billable_bookings, 0)
|
||||
else coalesce(cot.projected_daily_billable_bookings, 0)
|
||||
end as daily_billable_bookings_for_reporting,
|
||||
then coalesce(mm.billable_items, 0)
|
||||
else coalesce(cot.projected_daily_billable_items, 0)
|
||||
end as daily_billable_items_for_reporting,
|
||||
|
||||
-- Evaluation source: actual or projected depending on whether the date is
|
||||
-- available for the same month projection. This accounts only for the historical
|
||||
|
|
@ -169,31 +189,29 @@ select
|
|||
-- the performance of the projection.
|
||||
case
|
||||
when dd.is_available_for_same_month_projection then 'ACTUAL' else 'PROJECTED'
|
||||
end as daily_billable_bookings_for_evaluation_source,
|
||||
end as daily_billable_items_for_evaluation_source,
|
||||
case
|
||||
when dd.is_available_for_same_month_projection
|
||||
then coalesce(mm.billable_bookings, 0)
|
||||
else coalesce(cot.projected_daily_billable_bookings, 0)
|
||||
end as daily_billable_bookings_for_evaluation,
|
||||
then coalesce(mm.billable_items, 0)
|
||||
else coalesce(cot.projected_daily_billable_items, 0)
|
||||
end as daily_billable_items_for_evaluation,
|
||||
|
||||
-- Specific daily billable bookings trends
|
||||
coalesce(
|
||||
cot.projected_daily_billable_bookings, 0
|
||||
) as projected_daily_billable_bookings,
|
||||
coalesce(mm.billable_bookings, 0) as actual_daily_billable_bookings,
|
||||
-- Specific daily billable items trends
|
||||
coalesce(cot.projected_daily_billable_items, 0) as projected_daily_billable_items,
|
||||
coalesce(mm.billable_items, 0) as actual_daily_billable_items,
|
||||
|
||||
-- For information purposes to debug the trends
|
||||
cot.same_month_trend_daily_billable_bookings,
|
||||
cot.last_7_days_trend_daily_billable_bookings,
|
||||
cot.same_month_trend_total_billable_bookings,
|
||||
cot.last_7_days_trend_total_billable_bookings,
|
||||
cot.same_month_trend_daily_billable_items,
|
||||
cot.last_7_days_trend_daily_billable_items,
|
||||
cot.same_month_trend_total_billable_items,
|
||||
cot.last_7_days_trend_total_billable_items,
|
||||
cot.same_month_trend_total_available_days,
|
||||
cot.last_7_days_trend_total_available_days
|
||||
|
||||
from int_kpis_projected__dimension_dates dd
|
||||
left join combination_of_trends cot on dd.last_day_month = cot.last_day_month
|
||||
left join
|
||||
int_kpis__agg_daily_billable_bookings mm
|
||||
combination_of_billable_items mm
|
||||
on dd.date = mm.date
|
||||
and cot.dimension = mm.dimension
|
||||
and cot.dimension_value = mm.dimension_value
|
||||
|
|
@ -15,14 +15,14 @@ with
|
|||
|
||||
-- Metrics --
|
||||
sum(
|
||||
daily_billable_bookings_for_reporting
|
||||
) as current_month_projected_billable_bookings,
|
||||
daily_billable_items_for_reporting
|
||||
) as current_month_projected_billable_items,
|
||||
sum(
|
||||
daily_billable_bookings_for_evaluation
|
||||
) as historical_projected_billable_bookings,
|
||||
sum(actual_daily_billable_bookings) as actual_billable_bookings
|
||||
daily_billable_items_for_evaluation
|
||||
) as historical_projected_billable_items,
|
||||
sum(actual_daily_billable_items) as actual_billable_items
|
||||
|
||||
from {{ ref("int_kpis_projected__agg_daily_billable_bookings") }}
|
||||
from {{ ref("int_kpis_projected__agg_daily_billable_items") }}
|
||||
group by 1, 2, 3, 4, 5
|
||||
),
|
||||
monthly_error_computation as (
|
||||
|
|
@ -31,26 +31,20 @@ with
|
|||
last_day_month,
|
||||
dimension,
|
||||
dimension_value,
|
||||
current_month_projected_billable_bookings,
|
||||
historical_projected_billable_bookings,
|
||||
actual_billable_bookings,
|
||||
current_month_projected_billable_items,
|
||||
historical_projected_billable_items,
|
||||
actual_billable_items,
|
||||
case
|
||||
when not is_current_month
|
||||
then
|
||||
abs(
|
||||
historical_projected_billable_bookings
|
||||
- actual_billable_bookings
|
||||
)
|
||||
then abs(historical_projected_billable_items - actual_billable_items)
|
||||
else null
|
||||
end as monthly_absolute_error,
|
||||
case
|
||||
when not is_current_month
|
||||
then
|
||||
1.0 * abs(
|
||||
historical_projected_billable_bookings
|
||||
- actual_billable_bookings
|
||||
)
|
||||
/ nullif(historical_projected_billable_bookings, 0)
|
||||
1.0
|
||||
* abs(historical_projected_billable_items - actual_billable_items)
|
||||
/ nullif(historical_projected_billable_items, 0)
|
||||
else null
|
||||
end as monthly_absolute_percentage_error
|
||||
|
||||
|
|
@ -77,8 +71,8 @@ select
|
|||
current_month.dimension,
|
||||
current_month.dimension_value,
|
||||
-- Metrics --
|
||||
current_month.current_month_projected_billable_bookings,
|
||||
current_month.actual_billable_bookings,
|
||||
current_month.current_month_projected_billable_items,
|
||||
current_month.actual_billable_items,
|
||||
-- Error Attribution --
|
||||
historical_errors.historical_monthly_mean_absolute_error,
|
||||
historical_errors.historical_monthly_mean_absolute_percentage_error
|
||||
|
|
@ -100,15 +100,17 @@ models:
|
|||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: int_kpis_projected__agg_daily_billable_bookings
|
||||
- name: int_kpis_projected__agg_daily_billable_items
|
||||
description: |
|
||||
This model provides the projected daily billable bookings.
|
||||
This model provides the projected daily billable items, in
|
||||
other words, platform billable bookings and API billable
|
||||
verifications.
|
||||
It considers 2 computations:
|
||||
- The daily billable bookings for the current month,
|
||||
- The daily billable bookings in the past 7 days,
|
||||
- The daily billable items for the current month,
|
||||
- The daily billable items in the past 7 days,
|
||||
and the final value is an arithmetic mean of both.
|
||||
|
||||
This model also retrieves the actual billable bookings to be able
|
||||
This model also retrieves the actual billable items to be able
|
||||
to compare the projected values with the actual ones.
|
||||
|
||||
data_tests:
|
||||
|
|
@ -131,15 +133,13 @@ models:
|
|||
data_type: string
|
||||
description: The dimension or granularity of the metrics.
|
||||
data_tests:
|
||||
- assert_dimension_completeness:
|
||||
metric_column_names:
|
||||
- actual_daily_billable_bookings
|
||||
- accepted_values:
|
||||
values:
|
||||
- global
|
||||
- by_number_of_listings
|
||||
- by_billing_country
|
||||
- by_business_scope
|
||||
- by_service
|
||||
- by_deal
|
||||
|
||||
- name: dimension_value
|
||||
|
|
@ -193,12 +193,12 @@ models:
|
|||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: daily_billable_bookings_for_reporting_source
|
||||
- name: daily_billable_items_for_reporting_source
|
||||
data_type: string
|
||||
description: |
|
||||
The source of the daily billable bookings for reporting.
|
||||
The source of the daily billable items for reporting.
|
||||
This field is used to identify the source of the data displayed
|
||||
in daily_billable_bookings_for_reporting to differentiate between
|
||||
in daily_billable_items_for_reporting to differentiate between
|
||||
the actual and projected values.
|
||||
It's aimed for reforting purposes as any historical month will
|
||||
contain the actual figures.
|
||||
|
|
@ -209,25 +209,25 @@ models:
|
|||
- ACTUAL
|
||||
- PROJECTED
|
||||
|
||||
- name: daily_billable_bookings_for_reporting
|
||||
- name: daily_billable_items_for_reporting
|
||||
data_type: integer
|
||||
description: |
|
||||
The daily billable bookings for reporting purposes.
|
||||
The daily billable items for reporting purposes.
|
||||
This field contains both the actual and projected values.
|
||||
Any date in the future will contain projected values, while
|
||||
any date in the past will contain actual values.
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: daily_billable_bookings_for_evaluation_source
|
||||
- name: daily_billable_items_for_evaluation_source
|
||||
data_type: string
|
||||
description: |
|
||||
Important: This field is used to evaluate the performance
|
||||
of the projections!
|
||||
|
||||
The source of the daily billable bookings for evaluation.
|
||||
The source of the daily billable items for evaluation.
|
||||
This field is used to identify the source of the data displayed
|
||||
in daily_billable_bookings_for_evaluation to differentiate between
|
||||
in daily_billable_items_for_evaluation to differentiate between
|
||||
the actual and projected values.
|
||||
It's aimed for evaluation purposes as any historical month can
|
||||
contain projected figures.
|
||||
|
|
@ -239,13 +239,13 @@ models:
|
|||
- ACTUAL
|
||||
- PROJECTED
|
||||
|
||||
- name: daily_billable_bookings_for_evaluation
|
||||
- name: daily_billable_items_for_evaluation
|
||||
data_type: integer
|
||||
description: |
|
||||
Important: This field is used to evaluate the performance
|
||||
of the projections!
|
||||
|
||||
The daily billable bookings for evaluation purposes.
|
||||
The daily billable items for evaluation purposes.
|
||||
This field contains both the actual and projected values.
|
||||
Any date in the future will contain projected values. Any date
|
||||
in the past which day is after the yesterday day will also contain
|
||||
|
|
@ -254,57 +254,57 @@ models:
|
|||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: projected_daily_billable_bookings
|
||||
- name: projected_daily_billable_items
|
||||
data_type: integer
|
||||
description: |
|
||||
The projected daily billable bookings. This field is the result
|
||||
of the projection of the daily billable bookings for the current month
|
||||
The projected daily billable items. This field is the result
|
||||
of the projection of the daily billable items for the current month
|
||||
and the past 7 days.
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: actual_daily_billable_bookings
|
||||
- name: actual_daily_billable_items
|
||||
description: |
|
||||
The actual billable bookings for the same period as the projected ones.
|
||||
The actual billable items for the same period as the projected ones.
|
||||
This comes from the standard KPIs.
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: same_month_trend_daily_billable_bookings
|
||||
- name: same_month_trend_daily_billable_items
|
||||
data_type: float
|
||||
description: |
|
||||
The average daily billable bookings for the current month.
|
||||
The average daily billable items for the current month.
|
||||
This field is the result of the division of the actual daily billable
|
||||
bookings to date by the number of days available within the current month
|
||||
items to date by the number of days available within the current month
|
||||
to date, and contains decimals.
|
||||
This is just for information purposes.
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: last_7_days_trend_daily_billable_bookings
|
||||
- name: last_7_days_trend_daily_billable_items
|
||||
data_type: float
|
||||
description: |
|
||||
The average daily billable bookings for the past 7 days.
|
||||
The average daily billable items for the past 7 days.
|
||||
This field is the result of the division of the actual daily billable
|
||||
bookings for the past 7 days by 7 days, and contains decimals.
|
||||
items for the past 7 days by 7 days, and contains decimals.
|
||||
This is just for information purposes.
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: same_month_trend_total_billable_bookings
|
||||
- name: same_month_trend_total_billable_items
|
||||
data_type: integer
|
||||
description: |
|
||||
The total billable bookings for the current month.
|
||||
The total billable items for the current month.
|
||||
This field is the result of the sum of the actual daily billable
|
||||
bookings to date.
|
||||
items to date.
|
||||
This is just for information purposes.
|
||||
|
||||
- name: last_7_days_trend_total_billable_bookings
|
||||
- name: last_7_days_trend_total_billable_items
|
||||
data_type: integer
|
||||
description: |
|
||||
The total billable bookings for the past 7 days.
|
||||
The total billable items for the past 7 days.
|
||||
This field is the result of the sum of the actual daily billable
|
||||
bookings for the past 7 days.
|
||||
items for the past 7 days.
|
||||
This is just for information purposes.
|
||||
|
||||
- name: same_month_trend_total_available_days
|
||||
|
|
@ -323,10 +323,12 @@ models:
|
|||
past 7 days.
|
||||
This is just for information purposes.
|
||||
|
||||
- name: int_kpis_projected__agg_monthly_billable_bookings
|
||||
- name: int_kpis_projected__agg_monthly_billable_items
|
||||
description: |
|
||||
This model provides the projected monthly billable bookings per dimension
|
||||
and dimension value. It only considers the current month.
|
||||
This model provides the projected monthly billable items per dimension
|
||||
and dimension value.
|
||||
Billable items are defined as platform billable bookings and API
|
||||
billable verifications. It only considers the current month.
|
||||
Historical data is considered only to assess the performance of the
|
||||
projections.
|
||||
The projection logic is handled on the equivalent daily model,
|
||||
|
|
@ -357,15 +359,13 @@ models:
|
|||
data_type: string
|
||||
description: The dimension or granularity of the metrics.
|
||||
data_tests:
|
||||
- assert_dimension_completeness:
|
||||
metric_column_names:
|
||||
- actual_billable_bookings
|
||||
- accepted_values:
|
||||
values:
|
||||
- global
|
||||
- by_number_of_listings
|
||||
- by_billing_country
|
||||
- by_business_scope
|
||||
- by_service
|
||||
- by_deal
|
||||
|
||||
- name: dimension_value
|
||||
|
|
@ -374,12 +374,12 @@ models:
|
|||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: current_month_projected_billable_bookings
|
||||
- name: current_month_projected_billable_items
|
||||
data_type: integer
|
||||
description: |
|
||||
The projected monthly billable bookings for the current month.
|
||||
This field is the result of the sum of the actual daily billable bookings
|
||||
for the current month to date and the projected daily billable bookings
|
||||
The projected monthly billable items for the current month.
|
||||
This field is the result of the sum of the actual daily billable items
|
||||
for the current month to date and the projected daily billable items
|
||||
for the rest of the days in the month that are in the future.
|
||||
|
||||
The closest we are to the end of the month, the more accurate this value will be.
|
||||
|
|
@ -391,10 +391,10 @@ models:
|
|||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: actual_billable_bookings
|
||||
- name: actual_billable_items
|
||||
data_type: integer
|
||||
description: |
|
||||
The sum of the actual daily billable bookings for the current month to date.
|
||||
The sum of the actual daily billable items for the current month to date.
|
||||
This comes from the standard KPIs.
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
@ -407,7 +407,7 @@ models:
|
|||
This field is used to assess the performance of the projections.
|
||||
|
||||
This is based on the absolute differences between the projected
|
||||
monthly billable bookings for each previous month vs the actual value.
|
||||
monthly billable items for each previous month vs the actual value.
|
||||
In order to be consistent, it uses the same number of days available
|
||||
for the current month to date as the actual value, and the rest of the days
|
||||
are projected.
|
||||
|
|
@ -425,7 +425,7 @@ models:
|
|||
This field is used to assess the performance of the projections.
|
||||
|
||||
This is based on the absolute percentage differences between the projected
|
||||
monthly billable bookings for each previous month vs the actual value.
|
||||
monthly billable items for each previous month vs the actual value.
|
||||
In order to be consistent, it uses the same number of days available
|
||||
for the current month to date as the actual value, and the rest of the days
|
||||
are projected.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue