代码操作 DI004(改进):为列引用添加表名
描述
列引用应始终包含表名以避免歧义,即使表名是可选的。
示例
将以下内容:
SUMX('Internet Sales', [Line Amount] * [Quantity])
替换为:
SUMX('Internet Sales', 'Internet Sales'[Line Amount] * 'Internet Sales'[Quantity])
Tabular Editor 为什么会建议这样做?
由于模型中的_度量值_名称始终唯一,因此引用度量值时无需指定表名。 但列名称在模型内并不唯一,因此在引用列时必须指定表名,例如使用某个聚合函数时:SUM('Sales'[Amount])。
不过,在某些情况下,列引用中的表限定符是可选的。 例如,当列存在于活动的行语境中时(比如在计算列内部)。 即便如此,在这种情况下写上表名仍然是有效的,并且如果以后模型里新增了同名度量值,也能帮助避免歧义和错误。
如果始终遵循这一做法,你的代码会更简洁、更易读,也更便于区分度量值引用与列引用。
备注
此代码操作还提供一个 (所有出现位置) 变体,当代码中有多个片段可以改进时就会显示。 该变体会一次性将此代码操作应用到文档中所有相关代码片段。