公式疑难解答和表格兼容性
编写公式时出错
如果定义公式时遇到错误,公式中可能包含语法错误、语义错误或计算错误。
语法错误是最容易解决的。 此类错误通常涉及缺少括号或逗号。 有关各个函数的语法的帮助,请参阅“DAX 函数参考”。
当语法正确而值或列引用对公式上下文无意义时,就会发生其他类型的错误。 以下任何问题都可能导致此类语义和计算错误:
公式引用了非现有的列、表或函数。
公式看起来是正确的,但当数据引擎提取数据时找到的类型却不匹配,从而引发错误。
公式为函数传递的数字或参数类型不正确。
公式引用了另一个出错的列,因此它的值无效。
公式引用了尚未处理的列,这意味着虽然它具有元数据,但没有用于计算的实际数据。
在前四种情况下,DAX 会标记包含无效公式的整个列。 在最后一种情况下,DAX 灰显该列来指示该列处于未处理状态。
对列值进行排名或排序时,结果不正确或异常
对包含值 NaN (非数字)的列进行排名或排序时,可能会获得不正确或意外的结果。 例如,当计算 0 除以 0 时,返回结果 NaN。
这是因为公式引擎通过比较数值来执行排序或排名;但是 NaN 却无法与该列中的其他数字进行比较。
为了确保结果正确,您可以利用使用 IF 函数的条件语句来测试 NaN 值并返回数字 0 值。
与 Analysis Services 表格模型和 DirectQuery 模式的兼容性
通常,在 Power Pivot 中构建的 DAX 公式与 Analysis Services 表模型完全兼容。 但是,如果将 Power Pivot 模型迁移到某个 Analysis Services 实例,然后在 DirectQuery 模式下部署该模型,则存在一些限制。
如果在 DirectQuery 模式下部署该模型,则某些 DAX 公式可能会返回不同的结果。
在将模型部署到 DirectQuery 模式时,某些公式可能会导致验证错误,因为该公式包含关系数据源不支持的 DAX 函数。
需要保留本文链接地址:http://www.excelxx.com/shujufenxi/13947.html