Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
pessoal eu estou trabalhando com um BI de ordem de serviços para minha empresa
eu quero fazer uma lista para servir de filtro das unidades organizacionais , sendo que nem todas fazem essas ordens de serviços(issue_id)
como eu poderia fazer um script, tipo um if, pra selecionar na minha lista apenas as unidades que tenham ordens de serviço?:
desde já agradecido
Ramon, sou novato no uso do Qlik então me perdoe se eu falar alguma bobagem.
Esses dados voce esta trazendo de um banco de dados ou de uma planilha Excel?
caso esteja trazendo do banco de dados tente utilizar um "where" SELECT campos from TABELA where issue_id is not null.
Abraço.
Ramon, voce pode usar a função Isnull ela retorna -1 para null e 0 para not null.
sendo assim, no campo da lista adicione uma expressao:
if(
IsNull(issue_id) = 0,/*se o valor for not null exibe o valor na lista*/
CAMPO_A_SER_EXIBIDO
)
não funcionou como eu esperava mas muito obrigado mesmo assim , e não se preocupe, todos estamos aqui para aprender, ninguém sabe de tudo, também sou iniciante , então sem problemas.
Você está trazendo os dados via query?
Se estiver cole ela aqui por favor.
sim , estou consultando a um banco mysql mas estou usando camadas
ou seja uma extrai os dados. a outra cria a nuvem e a outra eu monto o layout
eu to fazendo isso na layout pois a nuvem já ta feita
mas vou mandar a query agora
DBC CONNECT TO redmine;
[Issues]:
SQL
SELECT
trackers.`name` AS 'Tipo',
projects.`name` AS 'Projeto',
CONCAT(CONCAT(users.`firstname`, ' '), users.`lastname`) AS 'Autor',
users.`mail` AS 'E-mail',
`MATRICULA_EMAIL`.`MATRICULA` AS 'Matrícula',
`issue_statuses`.`name` AS 'Status',
issues.`subject` AS 'Assunto',
issues.`description` AS 'Detalhe',
issues.`start_date` AS 'Data de criação',
issues.`due_date` AS 'Data de inínio',
issues.`estimated_hours` AS 'Estimativa (h)',
issues.`updated_on` AS 'Data de Finalização',
`issue_categories`.`name` AS 'Categoria',
issues.id as 'issue_id'
FROM issues
LEFT JOIN trackers ON trackers.`id` = issues.`tracker_id`
LEFT JOIN `projects` ON projects.id = issues.`project_id`
LEFT JOIN issue_categories ON issue_categories.`id` = issues.`category_id`
LEFT JOIN `issue_statuses` ON `issue_statuses`.`id` = issues.`status_id`
LEFT JOIN users ON users.id = issues.`author_id`
LEFT JOIN `MATRICULA_EMAIL` ON users.`mail` = MATRICULA_EMAIL.`EMAIL`
GROUP BY issues.id;
STORE Issues into $(V_PATH_QVDs)\Issues.QVD;
DROP TABLE Issues;
//------------------------------------------------------------------------
//Conexão com o SIC
OLEDB CONNECT TO [Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID=danilo_torres;Data Source=BLCMPROD;Extended Properties=""] (XPassword is BDNLZBdNNDcKWZFMSBMCTZAH);
[Funcionarios]:
SQL
SELECT
FUNC.MATRICULA,
FUNC.ID_PESSOA,
PESS.NOME,
TPLT.NOME AS TIPO_LOTACAO,
POTR.ID_POSTO_TRABALHO,
POFX.ID_ELEME_ORGANIZACIONAL,
ELOR.CODLOTACAO,
ELOR.NOME AS UNID_OPER_OU_ORG,
EQUI.NOME AS EQUIPE,
EQUI.ID_ELEME_ORGANIZAC AS ID_ELEME_ORGANIZAC_EQUIPE,
ELO2.CODLOTACAO AS CODLOTACAO_EQUIPE,
ELO2.NOME AS UNID_OPER_OU_ORG_EQUIPE
FROM
SIC.RH_FUNCIONARIO FUNC
INNER JOIN SIC.SIC_PESSOA PESS ON (PESS.ID_PESSOA = FUNC.ID_PESSOA)
INNER JOIN SIC.RH_TIPO_LOTACAO TPLT ON (TPLT.ID_TIPO_LOTACAO = FUNC.ID_TIPO_LOTACAO)
LEFT JOIN SIC.RH_POSTO_TRABALHO POTR ON (POTR.ID_FUNCIONARIO = FUNC.ID_PESSOA)
LEFT JOIN SIC.RH_POSTO_FIXO POFX ON (POFX.ID_POSTO_TRABALHO = POTR.ID_POSTO_TRABALHO)
LEFT JOIN SIC.RH_ELEME_ORGANIZACIONAL ELOR ON (ELOR.ID_ELEME_ORGANIZAC = POFX.ID_ELEME_ORGANIZACIONAL)
LEFT JOIN SIC.RH_POSTO_VOLANTE POVO ON (POVO.ID_POSTO_TRABALHO = POTR.ID_POSTO_TRABALHO)
LEFT JOIN SIC.RH_EQUIPE EQUI ON (EQUI.ID_EQUIPE = POVO.ID_EQUIPE)
LEFT JOIN SIC.RH_ELEME_ORGANIZACIONAL ELO2 ON (ELO2.ID_ELEME_ORGANIZAC = EQUI.ID_ELEME_ORGANIZAC) ;
STORE Funcionarios into $(V_PATH_QVDs)\Funcionarios_Organizacao.qvd;
DROP Table Funcionarios;
Tente usar inner join ao inves de left join para a parte de "INSSUES"
Olá,
Tente fazer assim no momento em que você faz a leitura dos arquivos QVDs.
Issues:
Load * from $(V_PATH_QVDs)\Issues.QVD (qvd);
Funcionarios:
Left Keep (Issues)
Load * from $(V_PATH_QVDs)\Funcionarios_Organizacao.qvd (qvd);
Espero ter ajudado.
Abraços.
Tonial.
Tente usar a expressão abaixo como expressão da sua lista
Only({<Tipo={*}>}UNID_OPER_OU_ORG)