mirror of
https://github.com/christianvidalwolf-prog/CrazeAnalytix.git
synced 2026-08-03 15:45:24 +02:00
Update Forecast Period to YTD logic
This commit is contained in:
@@ -49,7 +49,13 @@ const ForecastRow: React.FC<{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Calculations for new columns
|
// Calculations for new columns
|
||||||
const forecastPeriod = item.forecastUnits || 0;
|
// Forecast Period: Sum of forecast units for active months (YTD)
|
||||||
|
const forecastPeriod = useMemo(() => {
|
||||||
|
return activeMonths.reduce((sum, month) => {
|
||||||
|
return sum + (item.monthlyData?.[month]?.forecastUnits || 0);
|
||||||
|
}, 0);
|
||||||
|
}, [item, activeMonths]);
|
||||||
|
|
||||||
const actualUnits = item.actualUnits || 0;
|
const actualUnits = item.actualUnits || 0;
|
||||||
const annualForecast = item.annualForecast || 0;
|
const annualForecast = item.annualForecast || 0;
|
||||||
|
|
||||||
@@ -180,12 +186,19 @@ const ForecastView: React.FC<ForecastViewProps> = ({
|
|||||||
}, [data, filters.line, filters.asin, filters.sku]);
|
}, [data, filters.line, filters.asin, filters.sku]);
|
||||||
|
|
||||||
const globalSummary = useMemo(() => {
|
const globalSummary = useMemo(() => {
|
||||||
return baseFilteredData.reduce((acc, curr) => ({
|
return baseFilteredData.reduce((acc, curr) => {
|
||||||
|
// Calculate Forecast Period (YTD) for this item
|
||||||
|
const itemPeriodForecast = activeMonths.reduce((sum, month) => {
|
||||||
|
return sum + (curr.monthlyData?.[month]?.forecastUnits || 0);
|
||||||
|
}, 0);
|
||||||
|
|
||||||
|
return {
|
||||||
actualUnits: acc.actualUnits + (curr.actualUnits || 0),
|
actualUnits: acc.actualUnits + (curr.actualUnits || 0),
|
||||||
forecastUnits: acc.forecastUnits + (curr.forecastUnits || 0),
|
forecastUnits: acc.forecastUnits + itemPeriodForecast,
|
||||||
annualForecast: acc.annualForecast + (curr.annualForecast || 0),
|
annualForecast: acc.annualForecast + (curr.annualForecast || 0),
|
||||||
}), { actualUnits: 0, forecastUnits: 0, annualForecast: 0 });
|
};
|
||||||
}, [baseFilteredData]);
|
}, { actualUnits: 0, forecastUnits: 0, annualForecast: 0 });
|
||||||
|
}, [baseFilteredData, activeMonths]);
|
||||||
|
|
||||||
const chartData = useMemo(() => {
|
const chartData = useMemo(() => {
|
||||||
const dataMap = new Map<string, { name: string; actual: number; forecast: number }>();
|
const dataMap = new Map<string, { name: string; actual: number; forecast: number }>();
|
||||||
|
|||||||
Reference in New Issue
Block a user