можете попробовать старый фильтр донастроить через LOD
что-то такое
max( {Exclude sub-cat: countd(cat) }) = 1 or max( {Exclude sub-cat: countd(cat) }) = 1
внутренние эксклюды будут считать countd без разбивки на sub-cat, а фильтр last()=0 как табличное вычисление будет действовать после фильтра на кол-во cat, sub-cat