Esto es lo que encontré recientemente. Lo obtuve de esta publicación . Hasta ahora me funciona muy bien.
DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields ASC) +
DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields DESC) - 1 AS DistinctCount