Atribuir consulta a E3Browser/Chart

Boa tarde. Gostaria de saber como atribuir o resultado de uma consulta a um E3Browser, ou seja, primeiro eu faço a consulta e então atribuo os campos retornados a um E3Browser ou um gráfico E3chart, sendo que esses campo retornado não necessariamente existem na tabela.
Muito obrigado.


@kelvin, boa tarde.

Não sei se entendi bem sua dúvida, mas se vincular este objeto Consulta ao E3Browser, os campos aparecem exatamente como está na aba Visualizar. Exemplo:

  • Para esta SQL:
    image

  • Gera esta tabela:
    image

  • No E3Browser, estes campos:
    image

Em resumo, o E3Browser mostrará a tabela que foi gerada no objeto Consulta. O mesmo vale para o E3Chart.

Caso não seja disso que se trata, por favor, passar mais detalhes.

Sds.

Boa tarde, Luiz Fernando. Obrigado pela resposta.
A minha dúvida é se é possível apresentar os dados retornados pela consulta sem ter os campos da tabela adicionados explicitamente. Você deu um exemplo do E3Browser mas antes você havia adicionado os campos E3TimeStamp, Nivel1, Nivel2 e Expr1003 provavelmente. A consulta é gerada pelo seguinte script que retorna os tags em colunas, mas eu não tenho esses tags adicionados como campos da tabela:
DECLARE
@columns NVARCHAR(MAX) = ‘’,
@sql NVARCHAR(MAX) = ‘’;
SELECT
@columns+=QUOTENAME(dbo.Equipamento.TAG) + ‘,’
FROM
dbo.Equipamento
ORDER BY TAG;
– remove the last comma
SET @columns = LEFT(@columns, LEN(@columns) - 1);
– construct dynamic SQL
SET @sql =’ SELECT * FROM
( SELECT
e.TAG,
m.E3TimeStamp,
m.corrente
FROM
dbo.Correntes m
INNER JOIN dbo.Equipamento e
ON e.tag = m.tag
) t
PIVOT(
max(t.corrente)
FOR t.tag IN (’+ @columns +’)
) AS pivot_table order by E3TimeStamp desc;’;
– execute the dynamic SQL
EXECUTE sp_executesql @sql;

Não sei se ficou clara minha dúvida. Muito obrigado

@kelvin,

Sim, funciona.

Quando realiza uma consulta os campos são gerados e estes são usados pelo E3Browser.

Sds.

Obrigado!
E como faço para exibir os dados no E3browser, podendo filtrar a data inicial e final, Fernando?

@kelvin,

Neste caso precisa filtrar a Consulta apenas.

Antes ou depois do INNER JOIN pode inserir uma clausula WHERE e fazer o filtro.

Sds.

Fiz alguns testes tipo o seguinte porém está dando erro, Fernando:
FROM
dbo.Correntes m
INNER JOIN dbo.Equipamento e
ON e.tag = m.tag
WHERE (E3TimeStamp >= 30/09/2019 AND E3TimeStamp <= 01/10/2019)

(Não tenho muito conhecimento de SQL)

@kelvin,

Ao invés de inserir a data no filtro, utiliza variáveis e depois atribui o valor. Exemplo:

WHERE (E3TimeStamp >= #<%DataInicial%># AND E3TimeStamp <= #<%DataFinal%>#)

Quando testar, insere os valores nas variáveis.

Sds.

Deu erro mesmo assim. Eu não preciso adicionar a tabela à consulta, confere? Onde tem:
image

Obrigado

@kelvin,

Não precisa.

Me encaminha os logs do E3: fernando@elipse.com.br

Sds.