Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal,
Estou com um problema estranho. Utilizo a seguinte expressão:
IF(%NR_SEQ_RETORNO=Aggr(Min(%NR_SEQ_RETORNO),%NR_INTERNO_CONTA),IF(DS_CONVENIO.CONTA_PACIENTE='Unimed',VL_AMENOR.CONVENIO_RETORNO_ITEM,VL_GLOSADO.CONVENIO_RETORNO_ITEM))
Porém o resultado é null tanto para verdadeiro quanto para falso, mas existem valores nestes campos. Utilizando a mesma expressão (abaixo) para verificar se cai em Verdadeiro ou Falso é possível verificar que retornam os valores.
IF(%NR_SEQ_RETORNO=Aggr(Min(%NR_SEQ_RETORNO),%NR_INTERNO_CONTA),IF(DS_CONVENIO.CONTA_PACIENTE='Unimed','VERDADEIRO','FALSO'))
Gostaria de saber se alguém já passou por isso ou se sabem onde estou errando.
Teste com:
Sum({<DS_CONVENIO.CONTA_PACIENTE={'Unimed'}>}Aggr(If(%NR_SEQ_RETORNO=Min(total <%NR_INTERNO_CONTA> %NR_SEQ_RETORNO),VL_AMENOR.CONVENIO_RETORNO_ITEM,VL_GLOSADO.CONVENIO_RETORNO_ITEM),%NR_INTERNO_CONTA))
Deu "//Erro na dimensão calculada"...
Pode experimentar a expressão como medida e me dizer o resultado?
Thiago, apliquei sua expressão na íntegra e o retorno foi o erro citado acima conforme o exemplo que segue:
Acrescentando mais detalhes, o registro é formado por "Atendimento", "Conta" e "Seq. do Retorno". Um Atendimento tem uma ou várias Contas e cada Conta tem uma ou várias Sequencias de Retorno.
O que precisa ser feito é, a partir de uma lista, comparar todos os Número de Sequencia da mesma conta e trazer o valor (Glosado ou a Menor, dependendo do convênio) apenas para a Menor Sequencia de Retorno, devendo ficar mais ou menos assim:
Então trata-se de uma tabela onde a expressão vai alimentar o valor de uma coluna. Utilizei a expressão
IF(%NR_SEQ_RETORNO=$(=Min(%NR_SEQ_RETORNO),IF(DS_CONVENIO.CONTA_PACIENTE='Unimed',VL_AMENOR.CONVENIO_RETORNO_ITEM,VL_GLOSADO.CONVENIO_RETORNO_ITEM)) e deu certo em partes, pois o Min traz sempre o menor valor da lista, buscando a mesma sequencia para comparar com todos os registros, contudo no caso onde a condição satisfaz ele traz o valor, conforme o exemplo:
Para a expressão IF(%NR_SEQ_RETORNO=Aggr(Min(%NR_SEQ_RETORNO),%NR_INTERNO_CONTA),IF(DS_CONVENIO.CONTA_PACIENTE='Unimed',VL_AMENOR.CONVENIO_RETORNO_ITEM,VL_GLOSADO.CONVENIO_RETORNO_ITEM)) o comportamento tem sido assim:
O estranho e alvo do meu questionamento aqui é que se utilizar a mesma expressão acima e substituir os campo "VL_AMENOR.CONVENIO_RETORNO_ITEM" e "VL_GLOSADO.CONVENIO_RETORNO_ITEM" pelas strings "VALOR_1" e "VALOR_2" respectivamente, conforme abaixo, ele consegue analisar corretamente e trazer a string no campo.
IF(%NR_SEQ_RETORNO=Aggr(Min(%NR_SEQ_RETORNO),%NR_INTERNO_CONTA),IF(DS_CONVENIO.CONTA_PACIENTE='Unimed','VALOR_1','VALOR_2'))
Incluí a coluna Convênio pra representar a validação do segundo IF.