Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa noite, pessoal!
Criei uma medida no Qlik Sense para que eu consiga saber se um cliente da minha organização está ativo ou inativo baseado em critério de tempo e documento de faturamento. Porém, quando tiro a dimensão de cliente da minha tabela e coloco Estado (UF), Município ou qualquer outro tipo de agrupamento não consigo fazer com que meus resultados saiam agrupados.
Ao deixar a minha dimensão como Cliente consigo os dados linha a linha, sobre ativos e inativos, e também realizar a contagem em totais apenas na tabela dinâmica.
Quando peço para somar a minha medida em um gráfico, contando os valores distintos a fim de saber quantos clientes ativos ou inativos tenho por cidade, estado, etc, a minha tabela me retorna apenas uma soma geral do estado, considerando sempre o último doc de faturamento daquele estado e não somando os valores individuais.
Segue exemplo.
A medida usada em questão é:
Para Ativo/Inativo
IF((MAX([Data doc.faturamento p/índice de docs.faturamto.e impressão - (VBRK-FKDAT)]))>=(TODAY()-120),'ATIVO','INATIVO')
Para Ativo
IF((MAX([Data doc.faturamento p/índice de docs.faturamto.e impressão - (VBRK-FKDAT)]))>=(TODAY()-120),COUNT(distinct([Cliente emissor da Ordem de Vendas - (VBAK-KUNNR)])),'0')
Para Inativo
Count(distinct([Cliente emissor da Ordem de Vendas - (VBAK-KUNNR)]))
-
IF((MAX([Data doc.faturamento p/índice de docs.faturamto.e impressão - (VBRK-FKDAT)]))>=(TODAY()-120),COUNT(distinct([Cliente emissor da Ordem de Vendas - (VBAK-KUNNR)])),'0')
Alguém consegue me ajudar para com que mesmo agrupando os dados por Estado, etc eu consiga dados de forma correta?
Obrigado.
Olá!
Eu não conheço o seu modelo de dados, mas não seria possível aplicar o teste de Ativo/Inativo no script e criar um campo "flag" que você possa mais facilmente utilizar na visualização?
Na tabela de documento de faturamento, incluir um campo que diga a data da última fatura (pode fazer isso usando max (data da fatura) resident tabela de documento de faturamento group by chave_estrangeira_cliente.
Daí fica fácil já testar... if(today()-novo_campo_data_ultima_fatura >= 120, 0,1) as ind_status_cliente.
Na visualização você pega o ind_status_cliente e coloca nas expressões: Count({$<ind_status_cliente={"1"}>} DISTINCT código do cliente)
Vandre,
Pelos campos, você usa SAP e normalmente o volume nunca é pequeno......
a ideia do Carlos de fazer no script com certeza dará velocidade. Mas não te dará flexibilidade de escolher algum mês/ano e saber quais eram os clientes ativos/inativos naquele período.
Outra coisa. Em agregação, não use o if fora da agragação. if(A=1,sum(B)) não deve ser usado. Prefira sum( {<A={1}>} B )
Mas se quiser colocar na expressão (que com alguma mudança - today() poderia lhe dar flexibilidade para qualquer período escolhido) podes usar a abaixo, que também já deve te dar as quantidades por estado certos...
Count( distinct {<[Data doc.faturamento p/índice de docs.faturamto.e impressão - (VBRK-FKDAT)]={">=$(=today()-120)"}>} [Cliente emissor da Ordem de Vendas - (VBAK-KUNNR)] )
Afurtado, bom dia!
Obrigado pelo retorno. Testei a sua fórmula e ela me retorna resultado 0 para todos os cenários. Seja para a dimensão cliente ou para a dimensão UF.
Estava como tabela e retornou zerado, coloquei em tabela dinâmica e continuou zerado.