Ir para conteúdo
  • 0

Visualização de sublinhas DRE


delmarmachado
Ir para solução Solucionado por delmarmachado ,

Pergunta

  • Membros

Bom dia a todos.

Estou construindo um DRE, onde o mesmo tem 8 linhas em seu visual, sendo as 3 primeiras referentes à vendas.

Com base na imagem abaixo, eu possuo uma medida, onde ela verifica o código da máscara para efetuar o cálculo.

image.png.5ef6dd7cd7251d70e5f1013206dd7a64.png

No visual, é possível verificar que as duas primeiras trouxeram os valores corretamente, porém, a terceira não está efetuando a operação de subtração.

image.thumb.png.f7df992166aeacf636c4d617152d8b72.png

Ao visualizar a tabela do visual, a mesma possui o código de máscara 3 corretamente, onde mesmo assim, não está fazendo a subtração.

image.png.69c0238f21538e68108618af191ea7fd.png

Neste caso, o que pode estar ocorrendo para a operação não estar sendo feita?

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0
  • Membros
  • Solução

Boa tarde.

Para esta questão, foi inclusa uma view no Banco de Dados, contendo um UNION ALL. A partir disso, foi criada uma tabela chamada dMascaraDRE, onde a mesma possui as colunas CodMascara e Descricao. Assim, nessa view, nós apenas criamos essa coluna CodMascara e a relacionamos com a CodMascara da dMascaraDRE.

Após isso, foi só efetuarmos a medida para cálculo.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

Bom Dia @delmarmachado. Tudo bem contigo? Vou mandar em anexo a solução que elaborei baseado nas informações que você divulgou. Qualquer dúvida estou a disposição.
Em anexo se encontra o pbix utilizado para realizar a análise. Eu utilizei a função all, nas medidas de RECEITA e DEDUÇÕES. Pois, o que provavelmente estava acontecendo é que no contexto de linha, ao selecionar a linha com codMáscara = 3, não existia nenhum valor definido. Espero que a solução tenha ajudado. E qualquer dúvida estou a disposição.

image.png.237df5d047bd97916b1d84aa4a45e7aa.png

DRE TEste.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

 

Tu pode mostrar como ficou a tabela @delmarmachado,  não precisa realizar um calculate na VAR 3.  Exemplo da medida Final.

Valor DRE = 
VAR COD_MASCARA = SELECTEDVALUE(dVendas[codMascara])
Return
SWITCH(
    TRUE(),
    COD_MASCARA = 1, [Receita Bruta],
    COD_MASCARA = 2, [Deduções da Receita],
    COD_MASCARA = 3, [Receita Operacional Líquida],
    0
)

Utilizei as seguintes Medidas:
 

Deduções da Receita = 
CALCULATE(
    SUM(fVendas[Valor]), 
    ALL(), 
    dVendas[codMascara] = 2
)
Receita Bruta = 
CALCULATE(
    SUM(fVendas[Valor]), 
    ALL(), 
    dVendas[codMascara] = 1
)
Receita Operacional Líquida = 
[Receita Bruta] - [Deduções da Receita]

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

@Dirceu_BI Bom dia. Após efetuar o ajuste conforme você me pediu, a questão deu certo em partes.

Conforme a imagem abaixo, nós temos uma segmentação de datas na tela, onde por mais que seleciono anos diferentes os valores sempre estão sendo os mesmos.

image.png.593211138df773c82084db214a9bbebe.png

Contudo, os relacionamentos estão corretos, onde para comprovação disso, incluí em tela o cartão referente ao Total Vendido, onde dá pra visualizar que ao selecionar por ex: o ano de 2020, o valor está sendo alterado corretamente, porém, o valor da primeira linha da matriz não se alterou.

image.png.b5ba0171b128c4acf70e9e416cb00f36.png

Neste caso, nós precisamos que ao selecionar uma data diferente em tela, que os valores também sejam alterados. Baseado em como está a medida hoje e os relacionamentos estando corretos, como podemos fazer isso?

Obs: segue também a última imagem, onde a mesma mostra como está a medida atualmente.

image.png.341203c93a9115c3dbb2619c804fa81c.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

@Dirceu_BI efetuei a medida das seguintes formas: ALLEXCEPT(dCalendario; dCalendario[Date]), onde essa dCalendario é a tabela de calendário da tela, tanto quanto ALLEXCEPT(dMascaraDRE; dMascaraDRE[CodMascara]), que é a tabela de máscaras da matriz, porém, em ambos os casos, o valor até se modificou, mas não está batendo. Sendo assim, o ALLEXCEPT deve ser realizado am cima de qual tabela?

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

O ALLEXCEPT Acaba distorcendo as informações referentes a situação da empresa eliminando o filtro no contexto. Para resolver a situação referente a estrutura do período. Consegui uma solução para somente um ano. Tô pesquisando uma solução para se adaptar aos contextos que tu necessita.

Esse é um exemplo considerando o filtro de ANO. Para demais filtros é necessário estabelecer os critério que desejas trabalhar.

 

Receita Bruta = 
VAR ANO = SELECTEDVALUE(dCalendar[Date].[Ano], 0)
Return
IF(
    ISFILTERED(dCalendar[Date].[Ano]),
CALCULATE(
    SUM(fVendas[Valor]),
    ALL(), 
    dVendas[codMascara] = 1,
    dCalendar[Date].[Ano] = ANO),
    CALCULATE(
        SUM(fVendas[Valor]),
        ALL(),
        dVendas[codMascara] = 1
        )
)

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
53 minutos atrás, Dirceu_BI disse:

O ALLEXCEPT Acaba distorcendo as informações referentes a situação da empresa eliminando o filtro no contexto. Para resolver a situação referente a estrutura do período. Consegui uma solução para somente um ano. Tô pesquisando uma solução para se adaptar aos contextos que tu necessita.

Esse é um exemplo considerando o filtro de ANO. Para demais filtros é necessário estabelecer os critério que desejas trabalhar.

 


Receita Bruta = 
VAR ANO = SELECTEDVALUE(dCalendar[Date].[Ano], 0)
Return
IF(
    ISFILTERED(dCalendar[Date].[Ano]),
CALCULATE(
    SUM(fVendas[Valor]),
    ALL(), 
    dVendas[codMascara] = 1,
    dCalendar[Date].[Ano] = ANO),
    CALCULATE(
        SUM(fVendas[Valor]),
        ALL(),
        dVendas[codMascara] = 1
        )
)

 

@Dirceu_BI Tranquilo, eu realmente preciso de filtrar empresa e ano, porque nossas bases tem várias empresas, então fica inviável ser apenas uma informação, mas eu vou dar uma pesquisada também sobre este caso.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...