Стоимость индивидуальных подписок и подписок для корпоративных клиентов будет повышена с 1 марта 2025 года.
  • Главная
  • Новости
  • Revit. Параметризация. Стратегия Parts. Функции CVIF, DISTINCT, NOT. Расширение функции JOIN

Revit. Параметризация. Стратегия Parts. Функции CVIF, DISTINCT, NOT. Расширение функции JOIN

Сегодня мы выпустили обновление плагина Параметризация, в котором на первый взгляд не много изменений. Но эти изменения настолько важны и полезны, что мы решили написать новость!

Стратегия Parts

Новая стратегия позволяет обрабатывать части. При этом имеется связь с исходными элементами, из которых образована часть. Именно так – во множественном числе. API говорит нам о том, что одна часть может иметь несколько исходных элементов. Если честно, мы не в курсе как такое делается, но добавили ограничение – если исходных элементов несколько, то плагин будет брать первый попавшийся. В 99% случаев это то, что и нужно будет пользователям.

Функция NOT

Однажды пользователь спросил "А как мне задать условие, что функция TMIRRORED() равна False?". "И действительно – как?" подумали мы и сделали функцию NOT, которая инвертирует результат условных функций или выражений. Например, NOT(1=2) вернет TRUE.

Расширение функции JOIN и функция DISTINCT

Недавно мы выпустили крупное обновление, в котором добавили возможность записывать значения в условно исходный элемент. Для этого добавили две специальные функции: SUM – суммирует числовые значения, JOIN – складывает значения в одну строку, разделяя их указанным разделителем. И вот при использовании функции JOIN у пользователей возник вопрос "Как получить только уникальные результаты?". Т.е. "Как удалить дубликаты?". Мы сделали два решения этого вопроса:

1. Добавили функцию DISTINCT. Эта функция возьмет строку, разделит ее на части указанным разделителем, удалит дубликаты, а затем запишет результаты обратно в виде строки с тем же самым разделителем. При этом функция учитывает пробелы, чтобы точнее определять одинаковые значения. Например, если у вас была строка "а, а, б", и вы указали разделитель ",", то значение "а" и " а" не одинаковые, но функция посчитает их одинаковыми!

2. Добавили возможность указать 3-ий аргумент "d" в функции JOIN. Если указан аргумент "d" (от слова Distinct), то функция также удалит все дубликаты из списка значений перед тем, как записать результат в параметр. Правда, запись функции выглядит немного чудно, к чему придется привыкнуть. Особенно, если в качестве разделителя использовать запятую – JOIN(@[p],,,d), или запятую с пробелом – JOIN(@[p],, ,d).

Но это не единственная новая возможность функции JOIN! Теперь вы можете указать 3-им аргументом значение "s" (от слова Sort) и функция отсортирует значения в алфавитном порядке перед тем, как записать результат в параметр.

Ну и конечно же вы можете указать аргумент "ds", чтобы функция выполнила и удаление дубликатов, и сортировку!

Функция CVIF

Ну и наконец главная новинка, о которой нам очень хотелось рассказать – функция CVIF! Как и функция CV функция CVIF позволяет получить значение из Excel-файла, но по условиям! Функция проходит по строкам и проверяет указанные условия – если все они совпадают, то функция возвращает значение ячейки из указанного столбца. Условия, соответственно, задаются для значений ячеек строки.

Лучше всего объяснить, как это работает на простом примере. Вот мы написали формулу:

1 ru

А вот такой у нас Excel-файл, прикрепленный к стратегии:

2

Функция будет проходить по строкам и проверять значение в столбце "B" условием "равно 1" и если условие верно, то вернет значение из столбца "D". В нашем примере в параметр "Комментарии" будет записано "test3".

Мы уверены, что у этой функции огромный потенциал использования! Обязательно попробуйте ее и расскажите нам о своих эмоциях!

Приятной вам работы с ModPlus!

Комментарии для сайта Cackle