为什么行上下文(计算列)中使用的 SUM 在只能访问该行时对整个列求和?
Why does SUM used in row context (calculated column) sum the entire column when it only has access to the row?
在行上下文中,公式只能看到当前行中的内容。
所以当我在计算列中使用 SUM(tbl[col]) 时,为什么它会对整个列求和?
当您在行上下文中调用 SUM 时,它不会在行上下文中求值,而是在筛选器上下文中求值,这意味着 SUM 中的列不引用当前迭代的行,如果您想要获得正确的结果,您需要将 SUM 包装在 CALCULATE 中,以便 CALCULATE 可以启动上下文转换,并将当前迭代的行转换为等效的筛选器上下文。
在行上下文中,公式只能看到当前行中的内容。
所以当我在计算列中使用 SUM(tbl[col]) 时,为什么它会对整个列求和?
当您在行上下文中调用 SUM 时,它不会在行上下文中求值,而是在筛选器上下文中求值,这意味着 SUM 中的列不引用当前迭代的行,如果您想要获得正确的结果,您需要将 SUM 包装在 CALCULATE 中,以便 CALCULATE 可以启动上下文转换,并将当前迭代的行转换为等效的筛选器上下文。