Bom dia, gostaria de saber como faço para que o RM chart busque as informações de um histórico, montando os gráficos de barras com a data selecionada no dataini e datafim.
Abaixei um exemplo mas não consegui alterar.
atenciosamente
RM Chart Buscando Bando de dados
Bom dia Daniel,
No RMChart, cada série (conjunto de dados) possui a propriedade Datastring, que contém os valores a serem desenhados. Esta propriedade exige que os valores estejam separados por asteriscos (“153921*17”).
Por exemplo, se você quiser exibir a soma de determinados campos, a consulta abaixo retorna a soma diária:
SELECT Day(E3TimeStamp) AS Dia, SUM(ConditionActive) as Soma1, SUM(Enabled) as Soma2, SUM(Enabled) as Soma3
FROM Alarms
WHERE E3TimeStamp >= #<%DataIni%># AND E3TimeStamp <= #<%DataFim%>#
GROUP BY DAY(E3TimeStamp)
Já o script abaixo, atribui as variáveis ao filtro por data, e plota o primeiro valor retornado da consulta nas 3 barras criadas no RMChart:
set RMChartX1 = Screen.Item("RMChartX1")
Set cns = Application.GetObject("Dados.ConsultasRMChart.TotalAlarmesPorArea2")
cns.SetVariableValue "DataIni", Screen.Item("txtDataIni").Value
cns.SetVariableValue "DataFim", Screen.Item("txtDataFim").Value
set RS = cns.GetADORecordset()
C1 = RS.Fields.Item("Soma1").Value
C2 = RS.Fields.Item("Soma2").Value
C3 = RS.Fields.Item("Soma3").Value
Dia = RS.Fields.Item("Dia").Value
StringDados = C1 & "*" & C2 & "*" & C3
RMChartX1.Region(1).Caption.Titel = "Quantidade de alarmes por tanque:"
RMChartX1.Region(1).BarSeries(1).DataString = StringDados
RMChartX1.Draw(false)
Dependendo do número de barras que precisa exibir, você deve adaptar sua aplicação. No caso acima foram criadas 3 barras:
Para maiores informações, verifique o artigo https://kb.elipse.com.br/utilizando-o-rmchart-no-e3/.