Forum Discussion
Weekly Forecasting
Hi all! I need some help here...
I´m trying to create a table with sales forecast per store, based on last days in this week / month / period of time.
I would like to create a table with stores in the rows, and date in the columns.
For each date (if less than today), I must put the actual sales value. If the date is later, the field must be completed with the average of the last days of the table (yellow marks in the table below). For security reasons, I can not put the true values...
How can I do this?
Best regards,
Lucas
- Anonymous6 years agoHi guys! I solve the problem doing this: - Create a table only with the stores values (Stores = VALUES(fVendas[store]) - Create a date table (d_Tempo = VAR DataMinima = MIN(fVendas[date]) VAR DataMaxima = MAX(fVendas[date])+365 RETURN CALENDAR(DataMinima,DataMaxima) - Create a new table summarizing daily sales per store; - Create a Forecast table joining store and d_tempo table(Forecast = CROSSJOIN(SELECTCOLUMNS(Store,"Loja",Store[Loja Correta]),SELECTCOLUMNS(d_Tempo,"Data",d_Tempo[Date])); - calculate the total sale in the actual week: Acumulado Semana TB1 = VAR SemanaAtual = 'Forecast'[Week Table 1] VAR LojaCorreta = 'Forecast'[Loja] VAR ActualYear = 'Forecast'[Ano] RETURN CALCULATE( SUM('Forecast'[Vendas do Dia]), FILTER( 'Forecast', 'Forecast'[Week Table 1] = SemanaAtual && 'Forecast'[Loja] = LojaCorreta && 'Forecast'[Ano] = ActualYear ) ) - And then, an if formula: Forecast Semanal = if( 'Forecast'[Data]
4 Replies
- Greg_DecklerCommunity Champion
Anonymous - I would unpivot your week columns and then you can use EARLIER. See my article on Mean Time Between Failure (MTBF) which uses EARLIER: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/339586
- amitchandakSuper User
Anonymous , Try like
new column =
var _olddate = maxx(filter('Table','Table'[store] = earlier( 'Table'[store]) && 'Table'[Date] < earlier( 'Table'[Date])), 'Table'[Date])
return
AvergaeX(filter('Table','Table'[store] = earlier( 'Table'[store]) && 'Table'[Date] =_olddate ),'Table'[sales]) - V-lianl-msftCommunity Support
Hi Anonymous ,
Refer to the sample.
Best Regards,
Liang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly. - AnonymousNot applicableHi guys! I solve the problem doing this: - Create a table only with the stores values (Stores = VALUES(fVendas[store]) - Create a date table (d_Tempo = VAR DataMinima = MIN(fVendas[date]) VAR DataMaxima = MAX(fVendas[date])+365 RETURN CALENDAR(DataMinima,DataMaxima) - Create a new table summarizing daily sales per store; - Create a Forecast table joining store and d_tempo table(Forecast = CROSSJOIN(SELECTCOLUMNS(Store,"Loja",Store[Loja Correta]),SELECTCOLUMNS(d_Tempo,"Data",d_Tempo[Date])); - calculate the total sale in the actual week: Acumulado Semana TB1 = VAR SemanaAtual = 'Forecast'[Week Table 1] VAR LojaCorreta = 'Forecast'[Loja] VAR ActualYear = 'Forecast'[Ano] RETURN CALCULATE( SUM('Forecast'[Vendas do Dia]), FILTER( 'Forecast', 'Forecast'[Week Table 1] = SemanaAtual && 'Forecast'[Loja] = LojaCorreta && 'Forecast'[Ano] = ActualYear ) ) - And then, an if formula: Forecast Semanal = if( 'Forecast'[Data]