Ir para conteúdo
  • 0

Erro de Sintaxe - em medida


Emerson Alencar
Ir para solução Solucionado por Emerson Alencar ,

Pergunta

  • Alunos

Olá pessoal!

   Preciso de ajuda com uma medida que está aparecendo erro de Sintaxe e no calculo

  para este calculo preciso que para alguns itens específicos seja calculado o valor de refugo, limitando-se a quantidade informada... 

 

Devo estar fazendo algo errado e que não consigo identificar, por gentileza conseguem me ajudar?

 

MatBlock =
VAR DataLimite = DATE(2023, 10, 09)  // Define a data de referência (31/10/2023)
VAR ItensDesejados = {"FVW222075M", "FVW331875M", "FVW155375M", "FMB621275M", "FGM344375M", "FMB639175M", "FMB617275M", "FVW191075M"}
VAR LimiteQuantidade =
    SUMX(
        VALUES(Refugo[Material]),
        IF(
            Refugo[Material] IN ItensDesejados,
            SWITCH(
                Refugo[Material],
                "FVW222075M", MIN(Refugo[Quantidade], 80),
                "FVW331875M", MIN(Refugo[Quantidade], 1843),
                "FVW155375M", MIN(Refugo[Quantidade], 2018),
                "FMB621275M", MIN(Refugo[Quantidade], 170),
                "FGM344375M", MIN(Refugo[Quantidade], 38),
                "FMB639175M", MIN(Refugo[Quantidade], 23),
                "FMB617275M", MIN(Refugo[Quantidade], 140),
                "FVW191075M", MIN(Refugo[Quantidade], 104),
            Refugo[Material]
        )
    )
VAR DatasFiltradas =
    FILTER('DCalendário',
        'DCalendário'[Data]> DataLimite
    )
VAR ItensFiltrados =
    FILTER(Refugo,
        Refugo[Material] IN ItensDesejados
    )
RETURN
    CALCULATE([Refugo do Mês], DatasFiltradas, ItensFiltrados, LimiteQuantidade)

 

003- Refugo.pbix

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Tentei corrigir mas o erro persiste:

 

MENSAGEM DE ERRO= A expressão True/False não especifica uma coluna. Cada expressão True/False usada como expressão de filtro de tabela deve fazer referência exatamente a uma coluna.
 

MatBlock =
VAR VDataLimite = DATE(2023, 10, 09)
VAR VItensDesejados = {"FVW222075M", "FVW331875M", "FVW155375M", "FMB621275M", "FGM344375M", "FMB639175M", "FMB617275M", "FVW191075M"}
 
// Medida intermediária para calcular a quantidade limitada
VAR QuantidadeLimitada =
    SUMX(
        FILTER(Refugo, Refugo[Material] IN VItensDesejados),
        SWITCH(
            Refugo[Material],
            "FVW222075M", MIN(Refugo[Quantidade], 80),
            "FVW331875M", MIN(Refugo[Quantidade], 1843),
            "FVW155375M", MIN(Refugo[Quantidade], 2018),
            "FMB621275M", MIN(Refugo[Quantidade], 170),
            "FGM344375M", MIN(Refugo[Quantidade], 38),
            "FMB639175M", MIN(Refugo[Quantidade], 23),
            "FMB617275M", MIN(Refugo[Quantidade], 140),
            "FVW191075M", MIN(Refugo[Quantidade], 104),
            0  // Retorna zero para outros materiais
        )
    )
VAR DatasFiltradas =
    FILTER('DCalendário',
        'DCalendário'[Data] > VDataLimite
    )
VAR ItensFiltrados =
    FILTER(Refugo,
        Refugo[Material] IN VItensDesejados
    )
RETURN
    CALCULATE([Refugo do Mês], DatasFiltradas, ItensFiltrados, QuantidadeLimitada)
 
 
 

003- Refugo.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

@Emerson Alencar, consegue explicar melhor sua necessidade?

 

A exceção do seu switch retorna um texto. Você faz as condicionais e se não for nenhum desses materiais, retorna um texto. Ai já vai dar erro.
image.png.7e07a8244821a3ee5c2b9cc2d513095f.png

 

Depois você utiliza o resultado dessa soma pra filtrar o cálculo final? Qual é o contexto disso?
image.png.954b3d0841a6156ffd795e733758c63d.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Amigos @Alexandre H. Moraese @Edson Igari 
  A  Variavel  LimiteQuantidade está limitando a quantidade com base no critérios.

A função SUMX usei  usada para somar os valores após aplicar um filtro condicional a eles. Nesse caso, a função SUMX está sendo usada para somar a quantidade de refugo, mas apenas quando as seguintes condições são atendidas, A coluna Refugo[Material] está presente na lista ItensDesejados.

Se o material estiver na lista ItensDesejados, o valor é ajustado com base em uma estrutura SWITCH. Para cada material na lista ItensDesejados, há um valor de quantidade específico limitado usando a função MIN. O limite é aplicado a cada material da lista.

Portanto, a sequência está limitando a quantidade de refugo de acordo com os valores especificados na estrutura SWITCH para os materiais na lista `ItensDesejados

Teoricamente era isso que era pra fazer, mas está dando erro



Agora para entender o que preciso é que:
     - Da tabela de refugos,  somente somente para aqueles itens informados, limitando-se a quantidade informada se vier for superior ao informado e se isso acontecer mostrar somente até a quantidade limitante;
    - A data precisa ser superior ao dia 09/10/2023;
   - ao final calcular usando a medida Refugo do mês

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