Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal, estou com o seguinte problema:
Preciso montar um gráfico em que sua dimensão seja os dias do ano "DD/MM/YYYY".
Tenho em meus registros um controle de entrada e saída de veículos.
Ex.
ID VEICULO | ENTRADA (DT_ENT) | SAIDA (DT_SAI) |
---|---|---|
1292 | 10/02/2017 | 12/02/2017 |
1293 | 10/02/2017 | 11/02/2017 |
1294 | 11/02/2017 | 13/02/2017 |
Quero montar um gráfico que me mostre quantas entradas e saídas tiveram em cada dia.
Seria representado da seguinte forma:
Grato!
Bom dia, Guilherme
Você pode fazer algo como eu fiz neste script:
Tabela:
Load * inline [
IDVEICULO, ENTRADA, SAIDA
1292, 10/02/2017, 12/02/2017
1293, 10/02/2017, 11/02/2017
1294, 11/02/2017, 13/02/2017
];
NovaTabela:
Load IDVEICULO,
if(IterNo() = 1, 'E', 'S') as Sentido,
if(IterNo() = 1, ENTRADA, SAIDA) as Data
Resident Tabela
While (IterNo() <=2);
O seu gráfico, então, pode utilizar o campo Data como dimensão e as seguintes expressões:
=count({$<Sentido={'E'}>} IDVEICULO) para contar quantas entradas houve no dia e
=count({$<Sentido={'S'}>} IDVEICULO) para contar quantas saídas houve no dia
Espero ter ajudado
Eduardo
Boa tarde, Guilherme. Para datas do tipo inicio e fim, entrada e saída, etc... é interessante o uso do interval match, pois ele facilitará sua vida em relação às datas. Leia com bastante atenção!
Artigo do hic, muito bom.
Outro post com exemplo anexado para você se inspirar!
Interval Match Feature/Function
Espero que seja útil.
Att
Tiago Cardoso
Guilherme, não entendi o problema.
O gráfico que você mostrou não foi feito no Qlikview?
Esse meu post fala exatamente sobre o seu problema: https://blogdonicolett.com.br/2014/11/18/expressoes-considerando-datas-diferentes/
Yuri, não consegui entender muito bem o seu exemplo.
Como ficaria o script no meu caso?
Meu LOAD principal é o seguinte:
LOAD "ID_AGENDAMENTO",
PRODUTO,
"DATA_ENTRADA",
"DATA_SAIDA",
"TEMPO_PERMANENCIA";
SQL SELECT * FROM minhaTabela;
Bom dia, Guilherme
Você pode fazer algo como eu fiz neste script:
Tabela:
Load * inline [
IDVEICULO, ENTRADA, SAIDA
1292, 10/02/2017, 12/02/2017
1293, 10/02/2017, 11/02/2017
1294, 11/02/2017, 13/02/2017
];
NovaTabela:
Load IDVEICULO,
if(IterNo() = 1, 'E', 'S') as Sentido,
if(IterNo() = 1, ENTRADA, SAIDA) as Data
Resident Tabela
While (IterNo() <=2);
O seu gráfico, então, pode utilizar o campo Data como dimensão e as seguintes expressões:
=count({$<Sentido={'E'}>} IDVEICULO) para contar quantas entradas houve no dia e
=count({$<Sentido={'S'}>} IDVEICULO) para contar quantas saídas houve no dia
Espero ter ajudado
Eduardo
Eduardo, seu modelo está exatamente do jeito que preciso, mas desculpe minha falta de entendimento, ainda continuo sem entender.
Minha dúvida no momento é o seguinte, na tabela que você chamou de "Tabela" para fazer o Load Inline, você digitou os campos que irão compor essa tabela, eu preciso que ele busque os registros do banco de dados.
Como ficaria?
Tabela:
Load Inline [
IDVEICULO, ENTRADA, SAIDA
"IDVEICULO", "ENTRADA", "SAIDA"]
from SQL_VIEW
Entendeu o que preciso?
Preciso que a "Tabela" tenha os registros do banco de dados conforme for atualizando, e não ter os valores já pré-definidos.
Desde já, obrigado a todos.
Bom dia, Guilherme,
A ideia que eu passei foi de você poder dividir uma linha, de uma tabela, em diversas (usando a função IterNo()). Nesse caso, nós dividimos o registro de entrada e saída de um veículo, em dois registros (um de entrada e outro de saída).
O fato de eu ter criado uma carga "inline", foi para poder, rapidamente, te apresentar um exemplo e, principalmente, usando os dados que você tinha proposto na exposição do problema. Imagine aquela tabela vindo de um banco de dados. O resultado segue o mesmo.
Para buscar no banco de dados, você terá que fazer uma conexão com ele, podendo ser ODBC ou OLEDB. Uma vez que a tabela esteja na memória (resident) , segue a sintaxe que eu usei.
Espero ter ajudado e não confundido mais as coisas. Sugiro que você divida o problema em dois: a carga de dados a a partir de um banco de dados e, a divisão dos registros de entrada em diversos (que é o que tratamos neste post).
Qualquer coisa a mais que eu puder contribuir, conte comigo.
Abraço
Eduardo
Eduardo,
Fiz a conexão com o banco de dados normalmente, dei um nome à tabela e utilizei na sintaxe que você demonstrou.
Consegui o exemplo, só estou precisando ajustas algumas condições para meus valores ficarem exatos.
Mas acredito que consegui.
Muito obrigado.