Domanda

Sto cercando di ottenere la media P & L in una colonna.La colonna è di tipo doppia, tuttavia continuo a ricevere un errore dicendo quanto segue:

Informazioni aggiuntive: Errore di sintassi nell'argomento aggregato: Aspettarsi un argomento a colonna singola con possibile qualificatore "figlio".

Si verifica quando questa linea è in esecuzione:

avgFiveSbefore = (double)dt.Compute("AVG(5sBeforePnL)", "");
.

Inoltre, ecco un codice aggiuntivo da chiarire:

dt.Columns.Add(Columns.FiveSecBeforePnL, typeof(double));

foreach(DataRow row in dt.Rows)
{
  row[Columns.FiveSecBeforePnL] = some value;
}

double avgFiveSbefore;
avgFiveSbefore = (double)dt.Compute("AVG(5sBeforePnL)", "");
.

È stato utile?

Soluzione

Prova a racchiudere il nome della colonna in parentesi quadre.

avgFiveSbefore = (double)dt.Compute("AVG([5sBeforePnL])", "");
.

Puoi anche usare LINQ per fare lo stesso simile:

double avgFiveSbefore = dt.AsEnumerable()
                            .Average(r =>
                                r.Field<double>(Columns.FiveSecBeforePnL));
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top