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: 
marcio150972
Creator
Creator

Como passar filtro no Set Analysis conforme seleção

Pessoal,

Ainda sou meio atrapalhado no Set Analysis, estou com um problema e agradeceria a ajuda dos colegas, acredito que seja muito tranquilo de fazer, mas não estou conseguindo trazer a informação conforme a necessidade, segue abaixo a situação:

tenho um objeto tabela simples que tem varias colunas, na coluna "cadastro" eu faço uma contagem de todos os registros conforme um periodo  e se apresenta assim o resultado:

 

Cadastros:


10


dentro da programação eu faço desta maneira:


num(count({<[Classe Prospecção Clientes]={'Médico Oftalmologista'}>}DISTINCT [Registro Prospecção Clientes]),'#.##0')



Só que agora eu preciso adicionar um filtro nessa contagem conforme seleção do usuario:

o filtro e outro objeto:

imagem 1.png

este e o campo que vem do documento: "Classe Prospecção Clientes"

Como nao precisava de filtro antes, eu passava já uma classificação, mas agora mudou, existem mais classificações.

Acredito que no caso  caso eu preciso de uma variável conforme a escolha no item acima,  mas  não sei como setar essa variável e colocar ali no código.

Agradeço a ajuda.

1 Solution

Accepted Solutions
lucianosv
Specialist
Specialist

Está um pouco confuso, mas ficou claro que são duas fatos.

Pelo que entendi Cadastro na verdade é cadastramento e trata-se de um dado mensurável.

Você terá que fazer mais ou menos isso:

Fato:

Load

'Ponto visitação' as Origem,

Campo1,

Campo2,

applymap('MapTipo',classe) as [Classificação Cliente],

outros campos

From Ponto visitação


Concatenate(Fato)

Load

'Prospecção Clientes' as Origem,

Campo1,

Campo2,

applymap('MapTipo',classe) as [Classificação Cliente],

outros campos

From Prospecção Clientes

Desta forma você terá uma só tabela com Classificação única e poderá isolar os dados através do campo Origem.

View solution in original post

24 Replies
lucianosv
Specialist
Specialist

Bom dia.

É só retirar do cálculo:

num(count( DISTINCT [Registro Prospecção Clientes]),'#.##0')

marcio150972
Creator
Creator
Author

Bom dia Luciano,

Agradeço a ajuda.

No caso, eu preciso passar o filtro conforme descrevi.

Se eu retirar do calculo, ok, vai aparecer todos os cadastros.

Antes este campo só precisa vir a classe do Médico Oftalmologista.

Agora foram criadas mais classes: cadeia, laboratório, ótica, rede e a que já tem.

Coloquei no documento o objeto da imagem, assim o cliente quando clicar em um deles preciso trazer a quantidade de registro daquela classe, se não clicar em nada, vem o total, ou seja, sempre vem o total e muda conforme a escolha da classe.

num(count({<[Classe Prospecção Clientes]={'Classe escolhida ou total senao ouver escolha'}>}DISTINCT [Registro Prospecção Clientes]),'#.##0')


Esta e a minha dificuldades, eu passar a escolha por isso citei a utilização de uma variável

avinashelite

try like this :

1.Add a variable to capture the selection in the field

vSelection = getfieldselection([Class Prospecting Customers])


a (count ({<[Class Prospecting Customers] = {"=(vSelection )" }>} DISTINCT [Prospecting Registration Customers]), '#. ## 0')


or

a (count ({<[Class Prospecting Customers] = {"=(=vSelection )" }>} DISTINCT [Prospecting Registration Customers]), '#. ## 0')

cesaraccardi
Specialist
Specialist

Ola Marcio,

Uma alternativa seria utilizar a funcao P() que retorna os valores possiveis para determinado campo:

num(count({<[Classe Prospecção Clientes]=P([Classificacao])>}DISTINCT [Registro Prospecção Clientes]),'#.##0')

marcio150972
Creator
Creator
Author

Avinash ,

I thank you , I will try.

marcio150972
Creator
Creator
Author

Te agradeço a ajuda Cesar, vou testar ambas as formas.

lucianosv
Specialist
Specialist

Marcio, para obedecer seleção não precisa fazer nada, só o cálculo.

Faça um teste que você vai ver.

marcio150972
Creator
Creator
Author

Luciano,

Como este projeto não era meu, estou pegando ele na metade, fiz uma analise maior e veriquei o seguinte:

Existem 2 tabelas:

Visitação e cadastros

Na visitação o campo e [Classificação Cliente] e na tabela de cadastros e [Classe Prospecção Clientes]

Preciso unificar isso em um campo apenas, pois existem as duas tabelas, mas a classificação é a mesma.

lucianosv
Specialist
Specialist

Bom dia.

Para unificar é só renomear um deles para os dois ficarem com o mesmo nome, porém se você têm um cadastro o correto é não utilizar o da visitação e deixar a amarração trazer o do cadastro.

Tira o campo do load da visitação e faz um left join com o cadastro.

Quanto ao cálculo, dá uma olhada no exemplo anexo.