Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Определяемые пользователем функции DAX в настоящее время находятся в предварительной версии.
Определяемые пользователем функции выражений анализа данных (DAX) позволяют повторно использовать, параметризованную логику DAX в модели, упрощая запись, обслуживание и совместное использование кода DAX. Вместо многократного повторения формул в мерах, вычисляемых столбцах и визуализациях, определяемые пользователем функции предлагают гибкость, присущую программированию, в ваших семантических моделях, позволяя определять функции один раз, а затем использовать их везде, где поддерживается DAX. Дополнительные сведения см. в статье о определяемых пользователем функциях DAX.
Зачем использовать определяемые пользователем функции?
- Повторное использование и согласованность: определите вычисление один раз и повторно используйте его везде.
- Удобство обслуживания. Обновление логики в одном месте для исправления или развития правил.
- Безопасная разработка: дополнительные подсказки типов и вспомогательные средства проверки типов поддерживают прогнозируемый, устойчивый к ошибкам код.
- Объекты модели первого класса: UDF находятся в модели и могут просматриваться в обозревателе моделей.
Начало работы
Чтобы попробовать определяемые пользователем функции на настольном приложении, выполните следующее:
- Перейдите к Файл > Параметры и настройки > Параметры.
- Выберите функции предварительной версии и проверьте определяемые пользователем функции DAX.
- Нажмите кнопку "ОК " и перезапустите Power BI Desktop.
Определение функции
Вы можете определить определяемую пользователем функцию в Power BI Desktop с помощью представления запросов DAX (DQV) или представления TMDL.
Общий синтаксис
Общий синтаксис для UDF:
/// Optional description above the function
FUNCTION <FunctionName> = ( <ParameterName>: <ParameterType>, ... ) => <FunctionBody>
Пример: простая налоговая функция
Ниже приведен простой пример в DQV , который добавляет налог на указанную сумму. Вы также можете оценить UDF в DQV.
DEFINE
/// AddTax takes in amount and returns amount including tax
FUNCTION AddTax = (
amount : NUMERIC
) =>
amount * 1.1
EVALUATE
{ AddTax ( 10 ) }
// Returns 11
После определения UDF можно обновить модель или использовать CodeLens для добавления функции в модель.