Question

J'essaie d'obtenir la moyenne p & l dans une colonne.La colonne est de type double, mais je continue à obtenir une erreur en disant ce qui suit:

Informations supplémentaires: Erreur de syntaxe dans l'argument global: Attendez-vous à un argument de colonne unique avec le qualificatif «enfant» possible.

Cela se produit lorsque cette ligne est exécutée:

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

Aussi, voici un code supplémentaire pour clarifier:

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)", "");

Était-ce utile?

La solution

Essayez de joindre le nom de la colonne en crochets.

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

Vous pouvez également utiliser LINQ pour faire de même comme:

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top