Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia pessoal,
Estou com uma pequena dificuldade em algo simples:
Tenho a seguinte fórmula que funciona bem:
COUNT(DISTINCT IF(DT_EMISSAO<='31/01/2018'
AND ST_RECEITA='S' AND NTV_PSI_CODIGO='FF' AND NTV_TIPOVENDA='S'
AND $(v1FiliaisMeta)
AND ('31/01/2018'-DT_EMISSAO) <= 365
AND MUN_CODIGO = REP_MUN_CODIGO
, MUN_CODIGO))
Porém preciso fazer essa forma usando o método set analysis.
COUNT(DISTINCT {<ANO=, NM_MES=, DT_EMISSAO={"<=$(=DATE(MAX(DT_EMISSAO)))"},
ST_RECEITA={'S'}, NTV_PSI_CODIGO={'FF'}, NTV_TIPOVENDA={'S'},
FIL_CODIGO={$(=vFiliaisMeta)},
DT_EMISSAO={"<=$(=date(MAX(DT_EMISSAO)-365))"},
MUN_CODIGO={"=$(=REP_MUN_CODIGO)"}
>} MUN_CODIGO)
Mas na segunda fórmula não consigo adaptar a linha que está marcada em vermelho.
Alguém poderia me esclarecer como uso um campo igualando outro no set analysis?
Rodrigo, mais uma tentativa:
COUNT(DISTINCT {<ANO=, NM_MES=, DT_EMISSAO={"<=$(=DATE(MAX(DT_EMISSAO)))"},
ST_RECEITA={'S'}, NTV_PSI_CODIGO={'FF'}, NTV_TIPOVENDA={'S'},
FIL_CODIGO={$(=vFiliaisMeta)},
DT_EMISSAO={"<=$(=ADDYEARS(MAX(DT_EMISSAO),-1))"}>} If(MUN_CODIGO=REP_MUN_CODIGO, MUN_CODIGO))
Vejamos se isso resolve:
COUNT(DISTINCT {<ANO=, NM_MES=, DT_EMISSAO={"<=$(=DATE(MAX(DT_EMISSAO)))"},
ST_RECEITA={'S'}, NTV_PSI_CODIGO={'FF'}, NTV_TIPOVENDA={'S'},
FIL_CODIGO={"$(=vFiliaisMeta)"},
DT_EMISSAO={"<=$(=ADDYEARS(MAX(DT_EMISSAO),-1))"},
MUN_CODIGO={"$(=If(MUN_CODIGO=REP_MUN_CODIGO,MUN_CODIGO)"}
>} MUN_CODIGO)
Crendo que possa dar erro (via set analysis não sei se conseguiria o que queres), poderia tentar assim:
IF(MUN_CODIGO=REP_MUN_CODIGO,
COUNT(DISTINCT {<ANO=, NM_MES=, DT_EMISSAO={"<=$(=DATE(MAX(DT_EMISSAO)))"},
ST_RECEITA={'S'}, NTV_PSI_CODIGO={'FF'}, NTV_TIPOVENDA={'S'},
FIL_CODIGO={"$(=vFiliaisMeta)"},
DT_EMISSAO={"<=$(=ADDYEARS(MAX(DT_EMISSAO),-1))"}>} MUN_CODIGO))
Abs e Sucesso!
Estou tentando achar uma fórmula que se adapte!
Estas não deram certo!
Rodrigo, mais uma tentativa:
COUNT(DISTINCT {<ANO=, NM_MES=, DT_EMISSAO={"<=$(=DATE(MAX(DT_EMISSAO)))"},
ST_RECEITA={'S'}, NTV_PSI_CODIGO={'FF'}, NTV_TIPOVENDA={'S'},
FIL_CODIGO={$(=vFiliaisMeta)},
DT_EMISSAO={"<=$(=ADDYEARS(MAX(DT_EMISSAO),-1))"}>} If(MUN_CODIGO=REP_MUN_CODIGO, MUN_CODIGO))
Bom dia Thiago,
Show de bola, deu certo essa última fórmula ficando assim:
COUNT(DISTINCT {<ANO=, NM_MES=, DT_EMISSAO={">=$(=AddYears(MAX(vPeriodo),-1)) <=$(=date(Max(vPeriodo)))"},
ST_RECEITA={'S'}, NTV_PSI_CODIGO={'FF'}, NTV_TIPOVENDA={'S'},
FIL_CODIGO={$(=vFiliaisMeta)}
>} If(MUN_CODIGO=REP_MUN_CODIGO, MUN_CODIGO))
Obs: Porém na minha fórmula anterior tinha um erro de lógica:
Eu estava matando alguns filtros onde eu fazia:
DT_EMISSAO={"<=$(=DATE(MAX(DT_EMISSAO)))"}, e logo após
DT_EMISSAO={"<=$(=ADDYEARS(MAX(DT_EMISSAO),-1))"}>}
Corrigi essa parte e com sua última resposta deu certo.