DAX 用户定义的函数(预览版)

注释

DAX 用户定义函数目前为 预览版

数据分析表达式(DAX)用户定义的函数(UDF)允许将可重用的参数化 DAX 逻辑打包到模型中,使 DAX 代码更易于编写、维护和共享。 UDF 不会跨度量值、计算列和视觉对象重复公式,而是为语义模型带来编程样式的灵活性,让你定义函数一次,并在支持 DAX 的任何地方使用它们。 若要了解详细信息,请参阅 DAX 用户定义的函数

为何使用用户定义的函数?

  • 可重用性和一致性:定义一次计算,并在任何地方重复使用计算。
  • 可维护性:在一个位置更新逻辑以修复或改进规则。
  • 更安全的创作:可选的类型提示和类型检查辅助工具支持可预测、减少错误的代码。
  • 一流的模型对象:UDF 位于模型中,可以在模型资源管理器中查看。

开始

若要在桌面中试用 UDF,请执行以下作:

  1. 转到 “文件 > 选项”和“设置 > 选项”。
  2. 选择 预览功能 并检查 DAX 用户定义的函数
  3. 选择 “确定 ”并 重启 Power BI Desktop。

定义函数

可以使用 DAX 查询视图 (DQV)或 TMDL 视图在 Power BI Desktop 中定义用户定义的函数。

常规语法

UDF 的一般语法为:

/// Optional description above the function
FUNCTION <FunctionName> = ( <ParameterName>: <ParameterType>, ... ) => <FunctionBody>

示例:简单税务函数

下面是 DQV 中的一个简单的示例,用于向给定金额添加税款。 还可以在 DQV 中评估用户定义函数(UDF)。

DEFINE
    /// AddTax takes in amount and returns amount including tax
    FUNCTION AddTax = (
            amount : NUMERIC
        ) =>
        amount * 1.1

EVALUATE
{ AddTax ( 10 ) }
// Returns 11

定义 UDF 后,可以更新模型或使用代码镜头将函数添加到模型。

Power BI Desktop 中 DAX 查询视图的屏幕截图,其中突出显示了可以保存用户定义的函数的两个位置。第一个是视图顶部有更改按钮的更新模型。第二个是标记为“更新模型”的代码编辑器中的状态行:添加新函数。