Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Limite de seleção em lista

Bom dia Pessoa,

O meu problema é o seguinte

Tenho duas listas carregadas via macro

A primeira lista (lista1) tenho as seguintes informações:  2010 - 2011 - 2012 - 2013 (anos de versão)

A segunda lista (lista2) tenho as seguintes informações: 01/2010 - 02/2010 - ... - 02/2013 - 03/2013 (mês e ano)

O que preciso com essas listas:

Assim que selecionar um ano na lista1, fazer com que fique apenas disponível na lista2 o meses do ano que está selecionado da lista1

Exemplo: selecionei o ano de 2013 na lista1, assim na lista2 preciso que fique apenas os registros 01/2013 - 02/2013 - 03/2013 disponíveis para seleção, e o resto fique bloqueado.

Desde já agradeço a atenção.

6 Replies
eddysanchez
Partner - Creator
Partner - Creator

Na lista de periodos, checka na propiedade "Ocultar valores excluidos" da aba Geral

Com isso só amostrará os valores possiveis para esse ano

Not applicable
Author

Bom dia Eddysanchez

Isso até funciona na primeira vez que carrega, mas quando eu selecionar um mês do ano ele apaga todo o resto, e assim depois não consigo mais selecionar outro mês.

Usando o primeiro exemplo que passei: a lista2 vai ter que mostrar os registros 01/2013 - 02/2013 - 03/2013 e o restante vai estar oculto (usando o checkbox), mas ao selecionar o mês 01/2013 o outros meses de 2013 também são ocultados (02/2013 - 03/2013 são ocultados), assim não conseguindo alterar o mês depois.

Eu precisaria que sempre ficasse amostra os meses do ano selecionado, sem precisar ocutalos, para que assim eu possa estar sempre selecionando o mês que eu queira, sem precisar começar tudo novamente.

Not applicable
Author

Ola  AJB Castor

É só você criar um campo a mais na lista2 com o mesmo nome do campo ano da lista1

Esse campo tem que ser uma formula, ai caso esse campo MesAno esteja sendo reconhecido como data você carrega o novo campo assim “Year(MesAno) as Ano”,

Se ele estiver sendo reconhecido como texto você o carrega assim “Right(MesAno, 4) as Ano”.

Assim essas tabelas estarão ligadas pelo campo Ano.

Obs, substitua o nome MesAno e Ano pelos nomes dos seus campos na lista2 e lista1.

Not applicable
Author

Bom Dia,

Como esta montada sua base de dados?

Você pode enviar uma imagem do seu visualizador de tabelas (CTRL + T) para que possamos ver como estão vinculados estes dois campos (Lista1 e Lista2)

Se você possui um campo de data em uma tabela por exemplo:

LOAD

     DATA,

     YEAR(DATA) AS ANO,  //exemplo da Lista1

     NUM(MONTH(DATA),'00') & '/' & YEAR(DATA) AS MES_ANO  // exemplo da Lista2

RESIDENT SUA_TABELA;

Essa situação que você deseja é realizada automaticamente quando selecionado o ANO.

Se estas duas listam não possuirem nenhum vinculo entre si, você pode utilizar disparadores para realizar a sua seleção:

1.) Em propriedades do Documento, selecione o seu campo "ANO" (lista1) e adicione uma ação "Ao Selecionar"

2.) Adicione uma ação de "Seleção", "Selecionar no Campo";

3.) No "Campo" insira a informação do "Mês_Ano" (lista2) e no campo "Pesquisar Caracteres" incluar a seguinte expressão:  =IF(COUNT(ANO) = 1,'*'&ANO), ou seja se eexistir apenas um ano selecionado vai realizar um filtro na sua Lista2 onde possua a string do ano selecionado

Este exemplo esta em anexo.

Abraços

eddysanchez
Partner - Creator
Partner - Creator

Castor, o que você pode fazer então é na sua lista de meses, na propiedade de Layout, usar a condição de amostrar =if(ano=only(Ano),1,0) para que soma quando não tenha selecionado un Ano só.

eddysanchez
Partner - Creator
Partner - Creator

Castor, o que pode fazer então é amostrar um campo calculado tipo 01, 02, 03 ou Janeiro, Fevereiro, Março

Depois na aba Propiedades/Layout desta lista de meses usar a condição if(Ano=only(Ano),1,0) para que só apresente dados se estiver selecionado um Ano