Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Oi, eu preciso obter a diferença entre 2 tabelas, em ambas eu uso a coluna ID, em t1. Se eu tenho mais registros do que em t2. Id, o que eu quero é que, se o ID de t2 estiver em t1, ele será descontado.
Exemplo
T1.Id
1
2
3
4
t2.id
1
2
4
isso me dá como resultado "1", que é a quantidade de ID que não foi repetida
Esta é a fórmula que estou usando, mas acho que não funciona:
Count(distinct {$< t1.id=E( t2.id)>} t1.id)
Saudações
Fala jovem. Tudo certo?
Primeiro realmente sua expressão não vai funcionar para o seu caso pois a função E (excluded) serve para valores fora do filtro ativo. O seu caso é de miss value.
Bom, consigo vislumbrar três soluções possíveis para resolver o seu problema:
Sum(FLAG)
Count({< VALOR2 = {"*"} >}DISTINCT CHAVE)
Count({<CHAVE1 = {$(=Concat(DISTINCT '''' & CHAVE2 & '''', ','))}>}DISTINCT CHAVE1)
Abaixo coloco as tabelas exemplo para as soluções.
/*======== SOLUÇÃO 1 ========*/
TABELA1:
LOAD * INLINE [
CHAVE, VALOR1
1, A
2, B
3, C
4, D
5, E
];
LEFT JOIN(TABELA1)
TABELA2:
LOAD
*
, 1 as FLAG
INLINE [
CHAVE, VALOR2
1, Q
3, W
4, E
];
/*======== SOLUÇÃO 2 ========*/
TABELA1:
LOAD * INLINE [
CHAVE, VALOR1
1, A
2, B
3, C
4, D
5, E
];
TABELA2:
LOAD * INLINE [
CHAVE, VALOR2
1, Q
3, W
4, E
];
/*======== SOLUÇÃO 3 ========*/
TABELA1:
LOAD * INLINE [
CHAVE1, VALOR1
1, A
2, B
3, C
4, D
5, E
];
TABELA2:
LOAD * INLINE [
CHAVE2, VALOR2
1, Q
3, W
4, E
];
além das opções do @marco_almeida me permita colocar outra, usando o NOT EXISTS()
e ai basta uma expressão
count(distinct [Não Existe])
para dar a qtde de IDs que são únicos na tabela 1
@afurtado , tinha esquecido dessa função. Eu particularmente não gosto de usar, mas se resolver o problema ta valendo 😁