Можно использовать ковариацию без параметров, но вам нужны две структуры. Например, вы можете поместить параметр out в метод расширения:
SELECT Name, Value
FROM (
SELECT Name, Value, RANK() OVER (ORDER BY Value DESC) AS rk
FROM table
) t
WHERE rk <= 3
1) Создайте пользовательский атрибут, предназначенный для полей
2) Добавьте его к желаемым полям
3) Выполните итерации через типы, определенные в Вашем блоке
4) Для каждого типа:
4a), выполняют итерации через, это - поля
4b), если поле имеет Ваш пользовательский атрибут, переходят к шагу 4c
4c), добираются или установленные значения поля