From c6940ca6ae12df4a816ee5b84df03a0df3d9005d Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Fri, 23 Aug 2024 12:08:40 +0200 Subject: [PATCH] add num of analysts --- src/lib/components/AnalystEstimate.svelte | 42 +++++++++++++++-------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/src/lib/components/AnalystEstimate.svelte b/src/lib/components/AnalystEstimate.svelte index 743632e9..948a5f81 100644 --- a/src/lib/components/AnalystEstimate.svelte +++ b/src/lib/components/AnalystEstimate.svelte @@ -48,7 +48,7 @@ function normalizer(value) { let tableDataActual = []; -let tableDataForecast = [] +let tableDataForecast = []; const getAnalystEstimate = async (ticker) => { // Get cached data for the specific tickerID @@ -202,7 +202,7 @@ function prepareData() { filteredData?.forEach(item => { tableDataActual?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': (item?.revenue)}); - tableDataForecast?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': (item?.estimatedRevenueAvg)}); + tableDataForecast?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': item?.estimatedRevenueAvg, 'numOfAnalysts': item?.numOfAnalysts}); }) } @@ -213,7 +213,7 @@ function prepareData() { filteredData?.forEach(item => { tableDataActual?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': (item?.netIncome )}); - tableDataForecast?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': (item?.estimatedNetIncomeAvg )}); + tableDataForecast?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': item?.estimatedNetIncomeAvg, 'numOfAnalysts': item?.numOfAnalysts}); }); } @@ -222,7 +222,7 @@ function prepareData() { filteredData?.forEach(item => { tableDataActual?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': item?.eps ?? null}); - tableDataForecast?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': item?.estimatedEpsAvg}); + tableDataForecast?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': item?.estimatedEpsAvg, 'numOfAnalysts': item?.numOfAnalysts}); }); } @@ -232,7 +232,7 @@ function prepareData() { filteredData?.forEach(item => { tableDataActual?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': (item?.ebitda)}); - tableDataForecast?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': (item?.estimatedEbitdaAvg)}); + tableDataForecast?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': item?.estimatedEbitdaAvg, 'numOfAnalysts': item?.numOfAnalysts}); }); } @@ -358,46 +358,46 @@ $: { - + Forecast {#each tableDataForecast as item} - + {(item?.val === '0.00' || item?.val === null) ? '-' : abbreviateNumber(item?.val)} {/each} - - + + Actual {#each tableDataActual as item} - + {(item?.val === '0.00' || item?.val === null) ? '-' : abbreviateNumber(item?.val)} {/each} - - + + % Change {#each tableDataActual as item, index} - + {#if index-tableDataActual?.length === 0} - {:else} {#if item?.val === null} {#if (tableDataForecast[index]?.val- tableDataForecast[index-1]?.val) > 0} - *+{(((tableDataForecast[index]?.val-tableDataForecast[index-1]?.val) / tableDataForecast[index-1]?.val) * 100 )?.toFixed(2)}% + +{(((tableDataForecast[index]?.val-tableDataForecast[index-1]?.val) / tableDataForecast[index-1]?.val) * 100 )?.toFixed(2)}%* {:else if (tableDataForecast[index]?.val - tableDataForecast[index-1]?.val ) < 0} - *{(((tableDataForecast[index]?.val - tableDataForecast[index-1]?.val ) / tableDataForecast[index-1]?.val) * 100 )?.toFixed(2)}% + {(((tableDataForecast[index]?.val - tableDataForecast[index-1]?.val ) / tableDataForecast[index-1]?.val) * 100 )?.toFixed(2)}%* {/if} {:else if (item?.val- tableDataActual[index-1]?.val) > 0} @@ -417,6 +417,18 @@ $: { + + + No. Analysts + + {#each tableDataForecast as item} + + {item?.numOfAnalysts === null ? '-' : item?.numOfAnalysts} + + {/each} + + +