Projected monthly total based on current progress in current month

Member

Is there a way to project the month-end value based on the current month's progress in a bar chart? So if there are 10 days of data totaling 1M widgets during September (9/1-10), it will project 3M widgets for the current month (1M will be solid and 2M will be striped to signify striped).

I see a whole bunch of options in the Last Value Projection tool… but none of them seem to provide a simple estimate. Below is an example, which is misleading…

• Coach

You can utilize a window function to calculate the estimated month depending on the number of days that have elapsed in the current month.

LAST_DAY returns the number of days in the month

Running Total:

```CASE WHEN `Date` < CURRENT_DATE() THEN
SUM(SUM(`Sales`)) OVER (PARTITION BY LAST_DAY(`Date`) ORDER BY `Date`)
END
```

End of Month Estimate:

```CASE WHEN `Date` < CURRENT_DATE() THEN
SUM(SUM(`Sales`)) OVER (PARTITION BY LAST_DAY(`Date`) ORDER BY `Date`)
/
DAYOFMONTH(`Date`)
*
DAYOFMONTH(LAST_DAY(`Date`))
END
```

**Did this solve your problem? Accept it as a solution!**
• Coach

@NathanDorsch You can have more control over projections by adding a second Beast Mode series to your bar chart instead of using the Last Value Projection in Analyzer. In your case, the formula should look something like this:

```sum(case
when LAST_DAY(`Date`) = LAST_DAY(CURRENT_DATE())
then `Value` * (DAY(LAST_DAY(CURRENT_DATE())) - DAY(CURRENT_DATE())) / DAY(LAST_DAY(CURRENT_DATE()))
else 0
end)
```

• Coach

You can utilize a window function to calculate the estimated month depending on the number of days that have elapsed in the current month.

LAST_DAY returns the number of days in the month

Running Total:

```CASE WHEN `Date` < CURRENT_DATE() THEN
SUM(SUM(`Sales`)) OVER (PARTITION BY LAST_DAY(`Date`) ORDER BY `Date`)
END
```

End of Month Estimate:

```CASE WHEN `Date` < CURRENT_DATE() THEN
SUM(SUM(`Sales`)) OVER (PARTITION BY LAST_DAY(`Date`) ORDER BY `Date`)
/
DAYOFMONTH(`Date`)
*
DAYOFMONTH(LAST_DAY(`Date`))
END
```

**Did this solve your problem? Accept it as a solution!**
• Coach
```sum(case