Table of Contents

代码操作 DR001(可读性)转换为标量谓词

描述

列筛选条件可以更简洁地写成标量谓词,无需显式使用 FILTER 函数。

示例 1

更改:

CALCULATE(
	[Invoice Amount],
	FILTER(ALL('Document'[Document Type]), 'Document'[Document Type] = "Sales Order")
)

改为:

CALCULATE(
	[Invoice Amount],
	'Document'[Document Type] = "Sales Order"
)

示例 2

更改:

CALCULATE(
	[Invoice Amount],
	FILTER(VALUES('Document'[Document Type]), 'Document'[Document Type] = "Sales Order")
)

改为:

CALCULATE(
	[Invoice Amount],
	KEEPFILTERS('Document'[Document Type] = "Sales Order")
)

Tabular Editor 为什么会建议这样做?

与显式使用 FILTER 函数相比,标量谓词是一种更简单、更精炼的写法(也可视为“语法糖”),用于表达列筛选条件。 采用标量谓词后,代码更易阅读和理解,因为它去除了不必要的复杂性,使筛选表达式的意图更清晰。