Ir para conteúdo
  • 0

Problema com subtotal


luiz carlos luiz

Pergunta

  • Alunos

Bom dia,

Estou montando uma DRE em um processo diferente que eu ja tinha visto nas aulas e estou apanhando muito para fazer os subtotais na hora que estou fazendo as somas das linhas ate ai esta tudo certo porem no numero 15 ele não tem soma com nenhuma outra linha e com isso devendo trazer o valor que está na coluna DRE Analitico ( que é uma medida de soma).

Segue aqui também a Medida que estou usando para fazer parte a parte.

 

DRE Subtotal1 =
IF(
    SELECTEDVALUE(dEstruturaCE[Tipo]) = "ST",
    VAR SomaLinhas1e2 =
        CALCULATE(
            SUMX(
                FILTER(
                    dEstruturaCE,
                    dEstruturaCE[CodGrupoDRE] = 1 || dEstruturaCE[CodGrupoDRE] = 2
                ),
                [$ DRE Analitico]
            ),
            ALL(dEstruturaCE)
        )
 
    VAR SomaLinhas4e5 =
        CALCULATE(
            SUMX(
                FILTER(
                    dEstruturaCE,
                    dEstruturaCE[CodGrupoDRE] = 4 || dEstruturaCE[CodGrupoDRE] = 5
                ),
                [$ DRE Analitico]
            ),
            ALL(dEstruturaCE)
        )
    VAR SomaLinhas7e10 =
        CALCULATE(
            SUMX(
                FILTER(
                    dEstruturaCE,
                    dEstruturaCE[CodGrupoDRE] = 7 || dEstruturaCE[CodGrupoDRE] = 8 || dEstruturaCE[CodGrupoDRE] = 9 || dEstruturaCE[CodGrupoDRE] = 10
                ),
                [$ DRE Analitico]
            ),
            ALL(dEstruturaCE)
        )
     VAR SomaLinhas12e13 =
        CALCULATE(
            SUMX(
                FILTER(
                    dEstruturaCE,
                    dEstruturaCE[CodGrupoDRE] = 12 || dEstruturaCE[CodGrupoDRE] = 13
                ),
                [$ DRE Analitico]
            ),
            ALL(dEstruturaCE)
        )
 
    RETURN
    SWITCH(
        SELECTEDVALUE(dEstruturaCE[CodGrupoDRE]),
        3, SomaLinhas1e2,  // Para CodGrupoDRE 3, retorna a soma das linhas 1 e 2
        6, SomaLinhas4e5,   // Para CodGrupoDRE 6, retorna a soma das linhas 4 e 5
        11, SomaLinhas7e10,   // Para CodGrupoDRE 11, retorna a soma das linhas 7 e 10
        14, SomaLinhas12e13,   // Para CodGrupoDRE 14, retorna a soma das linhas 12 e 13
       
        BLANK()             // Para outras linhas, retorna em branco
    ),
    BLANK()  // Retorna em branco se a condição do Tipo não for atendida
)

imagem_2024-10-31_111511386.png

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
DRE Subtotal1 =
IF(
    SELECTEDVALUE(dEstruturaCE[Tipo]) = "ST",
    VAR SomaLinhas1e2 =
        CALCULATE(
            SUMX(
                FILTER(
                    dEstruturaCE,
                    dEstruturaCE[CodGrupoDRE] = 1 || dEstruturaCE[CodGrupoDRE] = 2
                ),
                [$ DRE Analitico]
            ),
            ALL(dEstruturaCE)
        )
 
    VAR SomaLinhas4e5 =
        CALCULATE(
            SUMX(
                FILTER(
                    dEstruturaCE,
                    dEstruturaCE[CodGrupoDRE] = 4 || dEstruturaCE[CodGrupoDRE] = 5
                ),
                [$ DRE Analitico]
            ),
            ALL(dEstruturaCE)
        )
    VAR SomaLinhas7e10 =
        CALCULATE(
            SUMX(
                FILTER(
                    dEstruturaCE,
                    dEstruturaCE[CodGrupoDRE] = 7 || dEstruturaCE[CodGrupoDRE] = 8 || dEstruturaCE[CodGrupoDRE] = 9 || dEstruturaCE[CodGrupoDRE] = 10
                ),
                [$ DRE Analitico]
            ),
            ALL(dEstruturaCE)
        )
     VAR SomaLinhas12e13 =
        CALCULATE(
            SUMX(
                FILTER(
                    dEstruturaCE,
                    dEstruturaCE[CodGrupoDRE] = 12 || dEstruturaCE[CodGrupoDRE] = 13
                ),
                [$ DRE Analitico]
            ),
            ALL(dEstruturaCE)
        )
 
    RETURN
    SWITCH(
        SELECTEDVALUE(dEstruturaCE[CodGrupoDRE]),
        3, SomaLinhas1e2,  // Para CodGrupoDRE 3, retorna a soma das linhas 1 e 2
        6, SomaLinhas4e5,   // Para CodGrupoDRE 6, retorna a soma das linhas 4 e 5
        11, SomaLinhas7e10,   // Para CodGrupoDRE 11, retorna a soma das linhas 7 e 10
        14, SomaLinhas12e13,   // Para CodGrupoDRE 14, retorna a soma das linhas 12 e 13
        15, [$ DRE Analitico],
        BLANK()             // Para outras linhas, retorna em branco
    ),
    BLANK()  // Retorna em branco se a condição do Tipo não for atendida
)

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Opa Bruno,

Vamos lá, estou fazendo os subtotais de algumas variaveis ai como voce viu porem, tem um dos subtotais que não soma com nenhuma linha acima ou abaixo e ela deve aparecer no subtotal pois a coluna DRE Analitico não vai ficar nessa grade, somente os subtotais.
Como voce viu está sendo feito corretamente as somas dos subtotais pore na ultima linha da foto ai acima ele deveria aparecer na coluna subtotais, pois depois vou utilizá-las para fazer outro subtotal.

pbites.jpg

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

a regra é essa:
gr 1 + 2 = resultado da soma fica no gr 3 = 19100144,95
gr4 + 5 = resultado da soma fica no gr 6 = 85482,37

gr7 + 8 + 9 + 10 = resultado da soma fica no gr 11 = 10153240,92

gr12 + 13 = resultado da soma fica no gr 14 = 2538005,08

gr15 = gr15 (aqui que não está aparecendo ali na subtotal) = 115191,45

gr3 - 6 - 11 - 14 - 15 = resultado da soma fica no gr 16 = 6.208.225,13

e assim vai ter mais

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Eu tinha achado que a regra era: 

- se o tipo for ST, some todos os códigos DRE menores que ele posteriores ao último grupo de DRE cujo tipo tb é ST. Por exemplo, se estou no grupo 14, vejo que anterior a ele, o grupo 11 é um subtotal. Logo, deverei somar as linhas 12 e 13 (entre 11 e 14).

Achei que essa regra valeria para a tabela toda, mas pelo jeito não vale.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

ok. segue as regras certinho:

gr 1 + 2 = resultado da soma fica no gr 3 = 19100144,95
gr 4 + 5 = resultado da soma fica no gr 6 = 85482,37

gr 7 + 8 + 9 + 10 = resultado da soma fica no gr 11 = 10153240,92

gr 12 + 13 = resultado da soma fica no gr 14 = 2538005,08

gr 15 = gr15 (aqui que não está aparecendo ali na subtotal) = 115191,45

gr 3 - 6 - 11 - 14 - 15 = resultado da soma fica no gr 16 = 6.208.225,13

gr 17 até grupo 26 = resultado da soma fica no gr 27
gr 16 - 27 = resultado da soma fica no gr 28

gr 29 = resultado da soma fica no gr 29 - igual o 15 -  ambos não aparecem nos subtotal
gr 30 = resultado da soma fica no gr 30- igual o 15 - 
gr 28 - 29 - 30  = resultado da soma fica no gr 31

essa é a regra completa que vou utilizar.

 

isso ajuda

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

ok. segue as regras certinho:

gr 1 + 2 = resultado da soma fica no gr 3 = 19100144,95
gr 4 + 5 = resultado da soma fica no gr 6 = 85482,37

gr 7 + 8 + 9 + 10 = resultado da soma fica no gr 11 = 10153240,92

gr 12 + 13 = resultado da soma fica no gr 14 = 2538005,08

gr 15 = gr15 (aqui que não está aparecendo ali na subtotal) = 115191,45

gr 3 - 6 - 11 - 14 - 15 = resultado da soma fica no gr 16 = 6.208.225,13

gr 17 até grupo 26 = resultado da soma fica no gr 27
gr 16 - 27 = resultado da soma fica no gr 28

gr 29 = resultado da soma fica no gr 29 - igual o 15 -  ambos não aparecem nos subtotal
gr 30 = resultado da soma fica no gr 30- igual o 15 - 
gr 28 - 29 - 30  = resultado da soma fica no gr 31

gr 32 + 33 + 34 + 35 + 36  = resultado da soma fica no gr 37

gr 31 - 37  = resultado da soma fica no gr 38
gr 38 - 39 = resultado da soma fica no gr 40

essa é a regra completa que vou utilizar.

 

isso ajuda

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Veja se é isso.

DRE Subtotal1 = 
VAR SomaLinhas1e2 =
    CALCULATE(
        SUMX(
            FILTER(
                dEstruturaCE,
                dEstruturaCE[CodGrupoDRE] IN {1, 2}
            ),
            [$ DRE Analitico]
        ),
        ALL(dEstruturaCE)
    )

VAR SomaLinhas4e5 =
    CALCULATE(
        SUMX(
            FILTER(
                dEstruturaCE,
                dEstruturaCE[CodGrupoDRE] IN {4, 5}
            ),
            [$ DRE Analitico]
        ),
        ALL(dEstruturaCE)
    )
VAR SomaLinhas7e10 =
    CALCULATE(
        SUMX(
            FILTER(
                dEstruturaCE,
                dEstruturaCE[CodGrupoDRE] IN {7, 8, 9, 10}
            ),
            [$ DRE Analitico]
        ),
        ALL(dEstruturaCE)
    )
VAR SomaLinhas12e13 =
    CALCULATE(
        SUMX(
            FILTER(
                dEstruturaCE,
                dEstruturaCE[CodGrupoDRE] IN {12, 13}
            ),
            [$ DRE Analitico]
        ),
        ALL(dEstruturaCE)
    )
VAR SomaLinhas17a26 =
    CALCULATE(
        SUMX(
            FILTER(
                dEstruturaCE,
                dEstruturaCE[CodGrupoDRE] IN {17, 26}
            ),
            [$ DRE Analitico]
        ),
        ALL(dEstruturaCE)
    )
VAR vResultado = 
    SWITCH(
        SELECTEDVALUE(dEstruturaCE[CodGrupoDRE]),
        3, SomaLinhas1e2,  // Para CodGrupoDRE 3, retorna a soma das linhas 1 e 2
        6, SomaLinhas4e5,   // Para CodGrupoDRE 6, retorna a soma das linhas 4 e 5
        11, SomaLinhas7e10,   // Para CodGrupoDRE 11, retorna a soma das linhas 7 e 10
        14, SomaLinhas12e13,   // Para CodGrupoDRE 14, retorna a soma das linhas 12 e 13
        15, [$ DRE Analitico],
        16, SomaLinhas1e2 - SomaLinhas4e5 - SomaLinhas7e10 - SomaLinhas12e13,
        27, SomaLinhas17a26,
        28, SomaLinhas1e2 - SomaLinhas4e5 - SomaLinhas7e10 - SomaLinhas12e13 - SomaLinhas17a26,
        29, [$ DRE Analitico],
        30, [$ DRE Analitico],
        31, SomaLinhas1e2 - SomaLinhas4e5 - SomaLinhas7e10 - SomaLinhas12e13 - SomaLinhas17a26 - CALCULATE([$ DRE Analitico], dEstruturaCE[CodGrupoDRE] IN {29, 30})
    )
RETURN
vResultado

 

  • Like 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...