Ir para conteúdo
  • 0

Dados na Matriz para Clientes e Produtos com e sem vendas


gilbran
Ir para solução Solucionado por Bruno Abdalla de Souza ,

Pergunta

  • Alunos

Estou precisando que todos os clientes relacionados ao RCA (vendedor) apareçam na MATRIZ e também todos os produtos com e sem venda, atenção a Medida (TT_ITENS_VEND_PROD v1 2), sejam mostrados em colunas na Matriz, segue a imagem do relacionamento entre as tabelas e o .PBIX para ajuda neste problema.

image.png.ff34f51dcf8bf3497e57d8a40fbd0678.png

Mix Minimo - ajuste 2.pbix

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Veja se é isso @gilbran.
 

TT_ITENS_VEND_PROD v1 2 = 
    VAR vRCA = VALUES(CONS_CLIENTE[CODRCA])
    VAR vCliente = 
        MAX(CONS_CLIENTE[CODCLI])
    VAR vClientes = 
        GROUPBY(
            FILTER(
                ALL(CONS_CLIENTE),
                CONS_CLIENTE[CODRCA] IN vRCA
            ),
            [CODCLI]
        )
RETURN
    IF(
        NOT(ISINSCOPE(CONS_PRODUTO[PRODUTO])),
        [Premiação v1],
        IF(
            NOT(ISINSCOPE(CONS_SUP_RCA[_SUPERVISOR])) 
            && NOT(ISINSCOPE(CONS_SUP_RCA[COD_RCA]))
            && NOT(ISINSCOPE(CONS_SUP_RCA[RCA]))
            && NOT(ISINSCOPE(CONS_CLIENTE[CODCLI]))
            && NOT(ISINSCOPE(CONS_CLIENTE[CLIENTE])),
            [TT_FAT_MIX_MINIMO],
            IF(
                NOT(ISBLANK([TT_ITENS_VEND_PROD])),
                [TT_ITENS_VEND_PROD],
                IF(
                    COUNTROWS(
                        FILTER(
                            vClientes,
                            [CODCLI] = vCliente
                        )
                    ) > 0,
                    0
                )
            )
        )
    )

 

20221019_MixMinimo-ajuste2.pbix

Editado por Bruno Abdalla de Souza
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Esta medida está trazendo valores somente para estes produtos:
 

TT_ITENS_VEND_PROD = 
        CALCULATE(
            [TT_ITENS_VEND], 
            'CONS_VENDAS_DEVOL'[CODPROD] IN {4289,4290,4513,4521,4516,4517,4531,2811,3437,4228,4227,4165,4167,4746,4747,4229,4433,4155,3439,1278,4522,4529,4291,4292,4742,4744,4734,4735,4520,4518,4519,4533,4534,4736,4737,4749,4748,4740,4751,4750,4499}
        )

 

Se você quiser trazer para tudo, faça o seguinte:

TT_ITENS_VEND_PROD = 
    VAR vItensVendidos = 
        CALCULATE(
            [TT_ITENS_VEND], 
            'CONS_VENDAS_DEVOL'[CODPROD] IN {4289,4290,4513,4521,4516,4517,4531,2811,3437,4228,4227,4165,4167,4746,4747,4229,4433,4155,3439,1278,4522,4529,4291,4292,4742,4744,4734,4735,4520,4518,4519,4533,4534,4736,4737,4749,4748,4740,4751,4750,4499}
        )
RETURN
    IF(
        vItensVendidos > 0,
        vItensVendidos,
        0
    )

Só que sua matriz vai ficar gigante. Na minha opinião perde um pouco o sentido ver tudo, mas se é a sua necessidade, OK.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
1 hora atrás, Bruno Abdalla de Souza disse:

Esta medida está trazendo valores somente para estes produtos:
 

TT_ITENS_VEND_PROD = 
        CALCULATE(
            [TT_ITENS_VEND], 
            'CONS_VENDAS_DEVOL'[CODPROD] IN {4289,4290,4513,4521,4516,4517,4531,2811,3437,4228,4227,4165,4167,4746,4747,4229,4433,4155,3439,1278,4522,4529,4291,4292,4742,4744,4734,4735,4520,4518,4519,4533,4534,4736,4737,4749,4748,4740,4751,4750,4499}
        )

 

Se você quiser trazer para tudo, faça o seguinte:

TT_ITENS_VEND_PROD = 
    VAR vItensVendidos = 
        CALCULATE(
            [TT_ITENS_VEND], 
            'CONS_VENDAS_DEVOL'[CODPROD] IN {4289,4290,4513,4521,4516,4517,4531,2811,3437,4228,4227,4165,4167,4746,4747,4229,4433,4155,3439,1278,4522,4529,4291,4292,4742,4744,4734,4735,4520,4518,4519,4533,4534,4736,4737,4749,4748,4740,4751,4750,4499}
        )
RETURN
    IF(
        vItensVendidos > 0,
        vItensVendidos,
        0
    )

Só que sua matriz vai ficar gigante. Na minha opinião perde um pouco o sentido ver tudo, mas se é a sua necessidade, OK.

Sim Bruno, é minha necessidade, obrigado pela resposta aos PRODUTOS, mas ainda tem a parte dos CLIENTES, estes só aparecem todos os que estão relacionados aos RCA ou VENDEDORES se mudar o relacionamento, mas isso leva a não ter as vendas, pois perde o relacionamento, qual seria uma outra forma de trazer todos os CLIENTES dos RCA's e as vendas e não vendas na MATRIZ?

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Os CLIENTES tem relação com apenas um RCA ou VENDEDOR, preciso monitorar quais clientes ele realizou a venda para todos os PRODUTOS e quais clientes ele não realizou a venda, pois quando filtrar o RCA/VENDEDOR a MATRIZ deverá me mostrar todos os CLIENTES deste RCA/VENDEDOR e todos os PRODUTOS que já realizou uma venda (DISTINCTCOUNT) e com ZERO os que ainda não realizou a venda.

Veja se me entende, segue uma imagem para ajudar.

image.png.1e3586f446bd39cb2a74be35c9048a50.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Oi Bruno, visualizei a mudança no relacionamento, mas não houve mudanças para mim, veja um exemplo e imagem para que possa entender melhor e me ajudar:

RCA/VENDEDORA (5-MARA RUBIA TEIXEIRA RIBEIRO) o Total de Clientes dela é 64, estes deveriam aparecer na MATRIZ. As vendas dos itens com 1 e sem vendas o ZERO.

 image.png.eec28b5a948067f554717224f2bbb085.png
 

image.png.0d42aab4708b6057cb819fc55b150297.png


Atualizei o PBIX (em anexo) para que possa analisar por este arquivo atualizado.

Mix Minimo.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
12 horas atrás, Bruno Abdalla de Souza disse:

Veja se é isso @gilbran.
 

TT_ITENS_VEND_PROD v1 2 = 
    VAR vRCA = VALUES(CONS_CLIENTE[CODRCA])
    VAR vCliente = 
        MAX(CONS_CLIENTE[CODCLI])
    VAR vClientes = 
        GROUPBY(
            FILTER(
                ALL(CONS_CLIENTE),
                CONS_CLIENTE[CODRCA] IN vRCA
            ),
            [CODCLI]
        )
RETURN
    IF(
        NOT(ISINSCOPE(CONS_PRODUTO[PRODUTO])),
        [Premiação v1],
        IF(
            NOT(ISINSCOPE(CONS_SUP_RCA[_SUPERVISOR])) 
            && NOT(ISINSCOPE(CONS_SUP_RCA[COD_RCA]))
            && NOT(ISINSCOPE(CONS_SUP_RCA[RCA]))
            && NOT(ISINSCOPE(CONS_CLIENTE[CODCLI]))
            && NOT(ISINSCOPE(CONS_CLIENTE[CLIENTE])),
            [TT_FAT_MIX_MINIMO],
            IF(
                NOT(ISBLANK([TT_ITENS_VEND_PROD])),
                [TT_ITENS_VEND_PROD],
                IF(
                    COUNTROWS(
                        FILTER(
                            vClientes,
                            [CODCLI] = vCliente
                        )
                    ) > 0,
                    0
                )
            )
        )
    )

 

20221019_MixMinimo-ajuste2.pbix 1 MB · 0 downloads

 

Bruno, bom dia!

Que FANTÁSTICO, toda a lógica ou 70 % dela em uma única medida, a linguagem DAX é fundamental para as analises em POWER BI!

Mas uma vez muito obrigado, agora meu trabalho ou a necessidade do meu cliente esta pronta, te devendo uma pescaria aqui no Amazonas!

 

  • Haha 1
Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...