Ir para conteúdo
  • 0

Função Switch


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

Pergunta

  • Membros

Olá Pessoal, boa noite!
Estou com a seguinte situação,
Tenho 17 filiais e preciso fazer um calculo onde 3 delas seguem uma regra filtros diferentes das demais

 

tentei a seguinte medida e não funcional

VAR postoFO = CALCULATE([TT REPAROS], F_BASE_REPAROS[EMPRESA] = "abc", F_BASE_REPAROS[POSTO] = "FO")
VAR postoFIBRA = CALCULATE([TT REPAROS], F_BASE_REPAROS[EMPRESA] = "abc", F_BASE_REPAROS[POSTO] = "FIBRA")

RETURN

SWITCH(TRUE(),
F_BASE_REPAROS[UF] = "PR", postoFO,
F_BASE_REPAROS[UF] = "SC", postoFO,
F_BASE_REPAROS[UF] = "RS", postoFO, postoFIBRA)

na lista de filiais tenho 21

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0
  • Membros
  • Solução

Seria isso?
 

TT_REPETIDA_FIBRA = 
    VAR repSSE =
        CALCULATE(
            [TT_Retrabalho], 
            Planilha1[POSTO]="FO"
        )
    VAR repNNE =
        CALCULATE(
            [TT_Retrabalho], 
            Planilha1[POSTO]="FIBRA"
        )
RETURN
    SWITCH(
        TRUE(),
        MAX(Planilha1[UF]) IN {"PR", "RS", "SC"}, repSSE ,
        repNNE
    )

 

modelo.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

Medida =

VAR postoFO = CALCULATE([TT REPAROS], F_BASE_REPAROS[EMPRESA] = "abc", F_BASE_REPAROS[POSTO] = "FO")

VAR postoFIBRA = CALCULATE([TT REPAROS], F_BASE_REPAROS[EMPRESA] = "abc", F_BASE_REPAROS[POSTO] = "FIBRA")

RETURN

SWITCH(

        TRUE(),

         MAX(F_BASE_REPAROS[UF]) IN  ("PR", "SC", "RS"), postoFO,

postoFIBRA)

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
9 minutos atrás, Bruno Abdalla de Souza disse:

Medida =

VAR postoFO = CALCULATE([TT REPAROS], F_BASE_REPAROS[EMPRESA] = "abc", F_BASE_REPAROS[POSTO] = "FO")

VAR postoFIBRA = CALCULATE([TT REPAROS], F_BASE_REPAROS[EMPRESA] = "abc", F_BASE_REPAROS[POSTO] = "FIBRA")

RETURN

SWITCH(

        TRUE(),

         MAX(F_BASE_REPAROS[UF]) IN  ("PR", "SC", "RS"), postoFO,

postoFIBRA)

Bruno, boa noite!
Não funcionou, pelo que pesquisei a função MAX retorna o maior valor de  uma coluna ou entre duas expressões escalares,  UF é um texto, acredito ser por isso que não funcionou

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
44 minutos atrás, Bruno Abdalla de Souza disse:

Explica um pouco melhor. Se for RS, PR ou SC, tem que aparecer somente F?. E se forem outros estados, tem que aparecer o que?

Desculpa, poderia ter explicado melhor
o que estou com dificuldade de fazer é o seguinte,

Quando tiver nas UFs RS, PR ou SC o calculo seja feito apenas no FO
Demais UFs só na Fibra

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
TT_REPETIDA_FIBRA = 
    VAR repSSE =
        CALCULATE(
            [TT_Retrabalho], 
            FILTER(
                Planilha1,
                Planilha1[POSTO]="FO"
            )
        )
    VAR repNNE =
        CALCULATE(
            [TT_Retrabalho], 
            FILTER(
                Planilha1,
                Planilha1[POSTO]="FIBRA"
            )
        )
RETURN
    SWITCH(
        TRUE(),
        MAX(Planilha1[UF]) IN {"PR", "RS", "SC"}, repSSE ,
        repNNE
    )

 

modelo.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
26 minutos atrás, Bruno Abdalla de Souza disse:
TT_REPETIDA_FIBRA = 
    VAR repSSE =
        CALCULATE(
            [TT_Retrabalho], 
            FILTER(
                Planilha1,
                Planilha1[POSTO]="FO"
            )
        )
    VAR repNNE =
        CALCULATE(
            [TT_Retrabalho], 
            FILTER(
                Planilha1,
                Planilha1[POSTO]="FIBRA"
            )
        )
RETURN
    SWITCH(
        TRUE(),
        MAX(Planilha1[UF]) IN {"PR", "RS", "SC"}, repSSE ,
        repNNE
    )

 

modelo.pbix 44 kB · 0 downloads

Muito obrigado, é isso
Deus abençoe!

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