Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Fala pessoal, tudo beleza?
Post de continuação do Projeto Nprinting. Para quem não leu o primeiro, veja aqui para entender!
Link aqui da comunidade: Um projeto Nprinting - Parte 01
Neste post irei falar mais sobre os filtros, bora lá?
IMPORTANTE: Conforme solicitação de alguns leitores, abordarei em um próximo post os temas: "Criar Relatório", "Criar Destino" e "Criar Task de Publicação".
No post anterior, conseguimos gerar a planilha com usuários únicos, por e-mail, e seus respectivos grupos, conforme lista abaixo:
O caso que nos preocupa é o "YURI NICOLETT", que receberá relatórios para o nível de vendedor e supervisor. Sei que posso tratar isso nos filtros, porém existe uma maneira de criar vários filtros, para o mesmo usuário, e identificar o filtro que será utilizado em cada relatório? Sim
Tudo o que você precisa saber sobre filtros esta aqui!
Existem vários tipos de filtros:
Os filtros são avaliados na seguinte sequência: tarefa, usuário, relatório e objeto.
Em nosso exemplo, o tipo de filtro que trataremos será o de usuário. Para o cadastro de um filtro, serão solicitadas algumas informações (maiores informações no help da qlik😞
Lembram que no cadastro do usuário, também existe uma coluna de filtro? Não lembra? Veja a planilha que geramos no post anterior:
Com a coluna "Filters", poderei cadastrar "N" filtros para cada um dos usuários.
Lembre-se: A nomenclatura utilizada no cadastro do usuário deverá ser a mesma no cadastro do filtro.
A sintaxe para criar filtros no NPrinting é simples, mas não custa reforçar! Todos os detalhes podem ser conferidos aqui
Sintaxe: [Nome do Campo]={Valor1, Valor2, Valor3}
OK, posso criar vários filtros para o mesmo usuário, mas como posso definir quais filtro deve ser interpretado por relatório? Melhorando a pergunta: Como posso definir que no relatório de vendedores, o usuário "Yuri Nicolett" tenha o valor 1 para a coluna COD_VENDEDOR selecionado e para o relatório de supervisores, tenha o valor 100 para a coluna COD_SUPERVISOR?
Resposta simples: Conexões!
A resposta estava ali o tempo todo? Pior que estava! Eu também demorei a perceber ![]()
OK, já sabemos o caminho das pedras, vamos criar a tabela de filtros, no Qlik Sense, e também preencher a coluna "Filters" para o relatório de usuários.
1- Vou reutilizar a tabela de Hierarquia que foi gerada no post anterior (não se preocupe, tem um qvf com o código pronto) para gerar os filtros de vendedores:
Estou mantendo a mesma regra, de usuários, para definir o e-mail, porém agora tenho duas diferenças: A conexão e o filtro.No caso do vendedor, estou chamando a conexão de "Conexao_Vendedor" e o filtro é o valor da coluna COD_VENDEDOR.
IMPORTANTE: Para criar a conexão do NPrinting, teremos que usar a mesma nomenclatura que estamos declarando aqui.
2- O resultado do código anterior será a tabela abaixo:
Sim, ainda esta duplicando a linha para o "YURI NICOLETT", iremos tratar adiante.
3- Vamos gerar a mesma tabela, porém para supervisor:
Repare que alterei o nome da conexão e o conteúdo do filtro é o valor do campo COD_SUPERVISOR
4- Agora vamos tratar a linha duplicada do vendedor "YURI NICOLETT" e também gerar as demais informações necessárias para o cadastro de filtros:
Calma... vou explicar melhor, mas veja o resultado final:
Não esqueçam:
5- Vamos repetir o passo 4 para o supervisor:
Após a execução desse script, as tabelas serão auto-concatenadas (quando duas tabelas possuem as mesmas colunas, elas se concatenam automaticamente).
Para exibir a tabela, vou cria-la na "Visão Geral do Aplicativo":
Show de bola! Agora tenho todos os meus filtros separados:
Opa, mas peraí! Não faltou adicionar o nome do filtro lá na tabela de Usuário?
6- Vamos preencher o campo "Filter" do cadastro de usuários. Note que vou apenas alterar o código passado no post anterior:
O comando Concat pode ter ficado estranho, mas ele seguirá o mesmo padrão:
Utilizando a coluna [Usuario.Filtro] para preencher a coluna [Filters]:
Agora temos toda a estrutura de Usuários, Filtros e Grupos desenvolvida dentro do QlikSense, podendo importa-la para dentro do NPrinting (mostrado no post anterior):
Reparem que na tabela de usuários, caso este possua mais de um filtro, será listado com vírgulas! O que vai definir qual filtro será usado para o usuário "YURI NICOLETT"? A conexão!
Mas Yuri, vou ter que criar várias conexões, do mesmo QVF, que possui as mesmas informações, só para que o NPrinting consiga fazer a escolha do filtro? Sim!
Também não acho o processo muito inteligente, mas foi o que consegui para atender as necessidades do projeto. Existe outra? Não sei, ainda não encontrei.
Ok, ok... mas e agora? Como que faço o disparo? Hehe, vou explicar direito no próximo post!
No próximo post, além de explicar como será feita a distribuição dos relatórios, irei refazer toda a parte do NPrinting:
O projeto esta sendo realizado em Qlik Sense, desta forma todos poderão ter acesso ao código fonte do QVF.Link para acesso ao diretório do projeto: AQUI
No diretório existem os arquivos: