CALCULATE( DISTINCTCOUNT( 'спрКлиенты'[id_Головной_контрагент] ), CROSSFILTER ( 'Продажи'[id_Клиенты], 'спрКлиенты'[id_Клиенты], BOTH ) )
в общем я интуитивно и предполагал, что если подавать таблицу транзакций расширенную для фильтрации - будет плохо =)
суть в том, что оптимизатор для каждой даты сначала вычисляет набор ключей и потом из вызывает через WHERE 'спрКлиенты'[id Клиенты] IN (