Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik and ServiceNow Partner to Bring Trusted Enterprise Context into AI-Powered Workflows. Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
carlossantos
Contributor II
Contributor II

Medida Mestre dependente de GetSelectedCount() – Como calcular Ano Anterior sem duplicar a lógica?

 

Olá pessoal,

Estou enfrentando um desafio estrutural envolvendo Medidas Mestre dependentes de contexto no Qlik Sense e gostaria de uma orientação sobre qual seria a melhor abordagem arquitetural.

Cenário

Tenho uma medida mestre chamada ROE. Segue a estrutura:

If(
    $(vMesTrimestralValido) = 1 and $(vVisaoConsolidada) = 1,

    [Lucro Líquido Ajustado com Desp. CRA] /
    (
        [Patrimônio Líquido Dislub]
        + [CRA Sócios Equador]
        + [Mútuo Sócios Eq.Dislub]
    ),

    0
)

Como mostrado acima, essa medida depende de outras 4 medidas mestre.

Essas medidas possuem lógica condicional baseada em:

GetSelectedCount(Ano)

GetSelectedCount(Mês)

Max(Ano)

Max(Data)

Today()

Variáveis dinâmicas

Estruturas com If() aninhado

Exemplo de uma das variáveis utilizadas internamente:

=If(
    GetSelectedCount(Ano)=1 and GetSelectedCount(Mês)=1,
    Year(AddMonths(MonthStart(Max(Data)),-11)) & Num(Month(AddMonths(MonthStart(Max(Data)),-11)),'00'),

    If(GetSelectedCount(Ano)=1 and Max(Ano) < Year(Today()),
        Max(Ano) & '01',

        If(GetSelectedCount(Ano)=1 and Max(Ano)=Year(Today()),
            Year(AddMonths(Max(Data),-12)) & Num(Month(AddMonths(Max(Data),-12)),'00'),

            Year(AddMonths(Max(Data),-12)) & Num(Month(AddMonths(Max(Data),-12)),'00')
        )
    )
)

Ou seja, toda a lógica do ROE é fortemente dependente do estado atual de seleção ($).

🎯 Necessidade

Preciso criar um KPI que traga o valor do ROE do Ano Anterior, considerando o ano atualmente selecionado.

Tentativas realizadas

Já tentei:

Utilizar Alternate State

Utilizar AGGR() com MAX()

Aplicar Set Analysis externo

Porém, o valor retornado fica diferente do esperado ou retorna nulo, pois a lógica interna depende de GetSelectedCount() e do estado ativo.

📌 Estrutura das medidas internas (exemplo)

Segue um exemplo de Set Analysis utilizado dentro das medidas que compõem o ROE:

 

 

{<
    Flag_EmpresasGeral = {1},
    Ano,
    Mês,
    AnoMes = {">=$(vAnoMesMin)<=$(=vAnoMesMax)"}
>}
([Lucro/Prejuízo Ajustado]
 + [Despesa Financeira CRA]
 + [Despesa Financeira Mútuo])

 

1 Reply
PabloLabbeImaps
Partner Ambassador
Partner Ambassador

Não sei se foi erro de transcrição, mas aqui faltou um = pra que o retorno da variável vAnoMesMin seja o valor calculado dentro dela e não a expressão dela.

 

{<
    Flag_EmpresasGeral = {1},
    Ano,
    Mês,
    AnoMes = {">=$(=vAnoMesMin)<=$(=vAnoMesMax)"}
>}
([Lucro/Prejuízo Ajustado]
 + [Despesa Financeira CRA]
 + [Despesa Financeira Mútuo])