Pergunta

Eu estou tentando obter a média do P&L em uma coluna.A coluna é do tipo double, no entanto, eu recebo um erro dizendo o seguinte:

Informações adicionais:Erro de sintaxe na agregação argumento:Esperando um único argumento de coluna com possível 'Criança' qualifier.

Isto ocorre quando esta linha estiver em execução:

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

Também, aqui está algum código adicional para esclarecer:

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)", "");
Foi útil?

Solução

Tente, colocando o nome da coluna entre colchetes.

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

Você também pode usar o LINQ para fazer o mesmo como:

double avgFiveSbefore = dt.AsEnumerable()
                            .Average(r =>
                                r.Field<double>(Columns.FiveSecBeforePnL));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top