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

Announcements
Posting on Qlik Community is temporarily paused for some users. Thank you for patience and we'll update you soon!
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])