Fala Ryon,
Supondo:
Cheguei à seguinte query:
select u2.dataCadastro safra, count(u2.idUsuarios)/u.totalUsuarios porcentagem
from Usuarios u2,
( select dataCadastro safra , count(idUsuario) totalUsuarios
from Usuarios
group by dataCadastro ) u
where u2.idUsuarios in (select distinct idUsuario from Compras)
and u2.dataCadastro = u.safra
group by u2.dataCadastro;
Como pensei meio por cima, não otimizei a query e, como te disse, adotei as premissas da seção Supondo.
Se der e quiser só a query, problema resolvido. Se deu certo e quiser que eu explique, só dizer. Se não der, veja em primeiro os cases dos nomes das tabelas e colunas. Se, mesmo assim, continuar o erro, escreva também (às vezes, entendi o teu requisito errado ou algo do tipo).
Avisa aí se deu certo.
Abraço.