Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Amigos, boa tarde
Gostaria de ajudar para saber se é possível criar a seguinte análise no qlikview:
Vejam que na minha tabela "Controle de Planos Preventivos" eu estou analisando quais planos estão vencidos, ok.
A partir desta tabela, eu quero montar uma programação de execução.
No caso para o códito AAE.0012 existem dois planos vencidos, 250 horas e 500 horas, então, deste modo, eu devo programar um plano de 500 horas, pois sempre irá prevalecer a maior.
A visualização que eu quero ter é uma outra tabela que me traga CÓDIGO E SEQUENCIA À EXECUTAR.
É possível?
Lembrando que essa tabela(CONTROLE DE PLANOS PREVENTIVOS) foi construída a partir de varias outras tabelas e análises.
Aguardo.
Muito Obrigada
Ketty Terra
Olá Ketty!
Minha sugestão: 1° criar o campo Sequência de tipo numérico e tentar "replicar" a tabela da IMG no seu Script, e em tempo de execução salvá-la num Qvd. 2° realizar uma carga dessa tabela agregando pelo máximo do campo de código, filtrando somente os códigos com Status diferentes de "OK".
Mais ou menos assim:
Tb_Controle:
LOAD Código,
Sequência,
MAX(Sequencia_num)
WHERE Status <> 'OK'
Group By Código, Sequência;
Depois disso você poderá criar um Qvd desta nova tabela ou já manter no seu modelo de dados.
Isso, caso com "programação de execução" você queira dizer para somente retornar uma nova tabela contendo esta análise por sequência, para relacionar com o seu modelo já criado (ou com outro se criar outro Qvd desta).
Luciano, boa tarde
O campo sequencia é numérico, 250 HORAS = 1, 500 HORAS =2, 1000 HORAS =3 e 2000 HORAS =4.
No caso do campo Status, ele é uma expressão. Eu teria que criar ele no script, certo?
No meu modelo de dados o campo STATUS depende de três tabelas. Como eu faria para criar esse campo via script?
Expressão para criar o campo status:
o campo CONTACUMULADOMANUT vem de uma tabela chamada DIM_STP
o campo CONTADORC vem de uma tabela chamada DIM_ST9
o campo Data e STJ_HORA cont. 1 vem de uma tabela chamada FATO_MANUTENCAO
Espero que entenda minha dúvida e se precisar de mais informações, disponibilizo.
Muito obrigada.
Alguém me dá um help;
Pessoal,
Vejam se conseguem me ajudar, por favor. Conseguir evoluir mais um item..
Vejam que no exemplo, consegui substituir a data de OS pela maior data. Mas tem um detalhe. O campo ULT PL EXEC, que neste caso é 3, significa o meu ultimo plano executado. Neste caso , só deve substituir para cima: a 2 e 1.
Não to conseguindo pensar em algo.
Penso que o certo seria guardar o numero do ULT PL EXEC em uma variavel, mas nao to conseguindo fazer isso. Vejam a parte do script que criei para substituir a data:
ULTIMO_DATA:
LOAD
Código,
max(Data) as ULT_DATA
Resident FATO_MANUTENCAO
Group by Código;
e na expressao do campo SUBSTI O.S
=if(COD_SEQ=1 and ULT_DATA > UltDtOS, ULT_DATA,
if(COD_SEQ=2 and ULT_DATA > UltDtOS, ULT_DATA,
if(COD_SEQ=3 and ULT_DATA > UltDtOS, ULT_DATA, UltDtOS)))
Por favor, me ajudem.
Saudações Ketty!
Você pode criar esse campo em tempo de execução na tabela, fazendo um Join
entre as tabelas relacionadas.
Depois aplicar o cálculo do campo de Status e salvar a tabela resultado num
QVD.
Mas pelo que entendi seu cenário agora contempla outros campos: ULT_DATA e
UltDtOS.
Caso você precisasse atualizar (a tabela na memória) com base em outras
linhas lidas, poderia usar funções inter-registro de Script que te
auxiliassem:
https://help.qlik.com/pt-BR/qlikview/November2017/Subsystems/Client/Content/ChartFunctions/InterRecordFunctions/inter-record-functions-charts.htm
Acho que vc poderia testar isso em combinação com uma ordenação da tabela
com ORDER By aplicado sobre o campo ULT PL EXEC.
Em seg, 14 de mai de 2018 09:35, Ketty Terra <qcwebmaster@qlikview.com>
escreveu:
Qlik Community <https://community.qlik.com/?et=watches.email.thread>
Desenvolvimento - Help
resposta de Ketty Terra
<https://community.qlik.com/people/kettyterra?et=watches.email.thread> em *Qlik
Brasil* - Visualize a discussão completa
<https://community.qlik.com/message/1485383?et=watches.email.thread#1485383>