public async Task <KpiCliente> Kpi() { var response = await client.Child("Cliente").OnceAsync <Cliente>(); var edades = response.Select(x => x.Object.Edad).ToList(); double promedio = 0; double desviacion = 0; if (edades.Count > 0) { promedio = edades.Sum(x => x) / edades.Count; edades.ForEach(x => desviacion += Math.Pow(x - promedio, 2)); desviacion = Math.Sqrt(desviacion / (edades.Count - 1)); } KpiCliente kpi = new KpiCliente() { Promedio = promedio, Desviacion = desviacion }; return(kpi); }
public IEnumerable <KpiCliente> GetKpi() { List <Cliente> Clientes = context.Clientes.ToList(); KpiCliente Kpi = new KpiCliente(); var promedioEdad = (from cliente in Clientes select cliente.Edad).Average(); var desviacionEstandar = CarlulaDesvEstandar(Clientes.Select(x => (double)x.Edad)); Kpi.PromedioEdad = promedioEdad; Kpi.DesviacionEstandar = desviacionEstandar; Kpi.TotalClientes = Clientes.Count(); yield return(Kpi); }