Skip to main content

Brasil

Announcements
QlikWorld 2023, a live, in-person thrill ride. Save $300 before February 6: REGISTER NOW!
cancel
Showing results for 
Search instead for 
Did you mean: 
alexandrakfcosta
Contributor III
Contributor III

Obtenção de valores na última competência

Preciso obter um total de valores da Última Competência independente se seleciono outra competência.


Por isso, utilizei no lugar de Max(Competência): Max({1}[COMPETÊNCIA]). Assim consegui obter a última competência conforme imagem abaixo:

Imagem inline 5

A fórmula em que quero utilizar está expressa abaixo:

Sum({$<[Ano Competência]={$(=Year(Max({1}[Competência])))},

  [Mês Competência]={$(=Month(Max({1}[Competência])))}>} Valor)

Obtenho sempre os valores da última competência independente das demais seleções (no meu caso, País):

Imagem inline 8

Porém, quando selecionada uma competência diferente da última, este valor é zerado pois a última competência foi excluída da seleção e não existe interseção entre o que foi selecionado e o que foi definido no conjunto:

Imagem inline 9

Já tentei trocar o "$" para "1", e a fórmula fica:

Sum({1<[Ano Competência]={$(=Year(Max({1}[Competência])))},

  [Mês Competência]={$(=Month(Max({1}[Competência])))}>} Valor)

Mas isso gera um resultado indesejado, pois o valor fica sempre fixo, independente das demais dimensões que filtrar.

Alguém saberia me dizer como obter o total de valores obedecendo os filtros aplicados, mas desconsiderando a competência selecionada pegando sempre a última?

Segue, em anexo, QVF de exemplo que utilizei.

Labels (2)
1 Solution

Accepted Solutions
pedroivo
Creator
Creator

Oi Alexandra,

No script de carga, criei uma tabela com um campo chamado [MAIOR COMPETENCIA], como demonstrado abaixo:

[ULTIMA COMPETENCIA]:

LOAD Distinct

   DATE(MAX([COMPETENCIA]),'MM/YYYY') AS [MAIOR COMPETENCIA]

Resident [TABELA EXEMPLO];

em seguida montei um item mestre com a fórmula:

SUM ( {1}

     IF ([MAIOR COMPETENCIA]=[COMPETENCIA],

     IF(ISNULL([DATA DE DESLIGAMENTO]),1,0),0)

    )

View solution in original post

6 Replies
Marcio_Campestrini
Specialist
Specialist

Alexandra

Dê uma olhada no post do pedroivo‌, Identificador de expressão Set Analisys esta alterando os valores com os filtros do usuário. Me parece exatamente o mesmo caso.

Márcio Rodrigo Campestrini
pedroivo
Creator
Creator

Bom dia Márcio,

usei usa sugestão, mas não consegui obter o resultado desejado, mas consegui resolver a questão e gostaria de dividir com você.

Fiz o seguinte:

No script de carga, criei uma tabela com um campo chamado [MAIOR COMPETENCIA], como demonstrado abaixo:

[ULTIMA COMPETENCIA]:

LOAD Distinct

   DATE(MAX([COMPETENCIA]),'MM/YYYY') AS [MAIOR COMPETENCIA]

Resident [TABELA EXEMPLO];

em seguida montei um item mestre com a fórmula:

SUM ( {1}

     IF ([MAIOR COMPETENCIA]=[COMPETENCIA],

     IF(ISNULL([DATA DE DESLIGAMENTO]),1,0),0)

    )

Marcio_Campestrini
Specialist
Specialist

Pedro, ótimo que tenha funcionado.

Márcio Rodrigo Campestrini
pedroivo
Creator
Creator

Oi Alexandra,

No script de carga, criei uma tabela com um campo chamado [MAIOR COMPETENCIA], como demonstrado abaixo:

[ULTIMA COMPETENCIA]:

LOAD Distinct

   DATE(MAX([COMPETENCIA]),'MM/YYYY') AS [MAIOR COMPETENCIA]

Resident [TABELA EXEMPLO];

em seguida montei um item mestre com a fórmula:

SUM ( {1}

     IF ([MAIOR COMPETENCIA]=[COMPETENCIA],

     IF(ISNULL([DATA DE DESLIGAMENTO]),1,0),0)

    )

Marcio_Campestrini
Specialist
Specialist

Conseguiu resolver seu problema? Marque as respostas como úteis/correta para fechar o tópico e mantermos a comunidade organizada.

Márcio Rodrigo Campestrini
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Referência (Tópicos 2.3 e 2.4): Manual do usu&amp;amp;aacute;rio | Como criar e gerir minhas perguntas?

Abraço.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti