Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Segmentação de Dados não Funciona, me ajudem

Fala galera tudo bem?

Estou quebrando a cabeça com isso há alguns dias! E preciso muito de uma ajuda de vocês!

É o seguinte, tenho uma planilha com valores que é adicionado diariamente e preciso somar os valores comparando com uma data anterior.

Mas quando utilizo a segmentação de dados, ela não funciona. Segue os detalhes...

Tenho está fórmula que retornar o último dia do relatório:

DiaMax = LASTDATE(Base[DataOperacao])

Porém, faço comparações de Safra. Para quem não sabe a safra começa no mês de Julho do ano atual e termina no mês de Junho do ano seguinte.

Eu estou comparando o somatório dos mêses de Julho/2020 e Agosto/2020 (Safra 20/21) com Julho/2019 e Agosto/2019 (Safra 19/20).

Por este motivo uso o DiaMax com a fórmula abaixo para separar os dias das Safras conforme o último dia adicionado com o relatório.

`UltDiaSafra19/20 = EDATE([DiaMax], (YEAR(TODAY()) - YEAR("2019-01-01")) * (-12))

Ou seja, estou pegando o último dia e apenas modificando o ano para o qual eu quero. Eu pego o (ano atual - 2019) * (-12) o que dará -12.

Porém meu problema está exatamente nesse UltDiaSafra, que por algum motivo quando eu uso a fórmula de soma ele não reconhece o UltDiaSafra19/20 como uma data.

Segue a fórmula de soma:

Soma Liberação Período Safra 19/20 = CALCULATE([SomaLiberacao],FILTER(Base,Base[DataOperacao] >= DATE(2019,07,01)),FILTER(Base,Base[DataOperacao] <= DATEVALUE([UltDiaSafra19/20])))

Eu sei que o erro é nesse UltDia Safra19/20 pois quando substituo o UltDiaSafra19/20 por DATE=(2019,08,07) ele funciona corretamente.

Eu já estou perdido nisso.... As datas vem da mesma tabela.... Não sei o que está acontecendo...

Eu usei o DATESBETWEEN()e nada...

Alguém pode me dar um help?

3 respostas
solução!

DESCOBRI!

Eu deveria usa um ALL() em DIAMAX = LASTDATE(ALL(Base[Dataop]))

Não sei porque ele não trazia os valores corretamente, mas isso sanou tudo.

Algum contexto que ele não entendia...

Oii Romeu, tudo bom?

Fico feliz que tenha dado tudo certo. Pode ser que algum filtro deveria estar prejudicando a análise, por isso ao utilizar a função ALL() deu certo.

A função ALL() retorna todas as linhas de uma tabela ou todos os valores de uma coluna, ignorando todos os filtros que estiverem aplicados. Essa função é útil para limpar filtros e criar cálculos em todas as linhas em uma tabela.

Qualquer coisa estou por aqui, tá bom? :)

Valeu Maria!

O que me deixou mais encucado foi isso, visivelmente não consegui achar nada que influenciava no filtro. Mas já que ALL() deu certo, fiquei feliz! hahahaha

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software