You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DAX函数LASTNONBLANK作用于字符串时返回空白问题排查

问题原因
  • 表关系缺失或配置错误:当前公式没有显式指定SKU匹配规则,若Table1与Table2未以SKU为键建立激活的一对多/一对一关系,CALCULATE无法筛选Table1中对应SKU的记录,空筛选上下文下LASTNONBLANK直接返回空白。
  • SKU列匹配异常:两表SKU列数据类型不一致(如一列为文本、一列为数值),或SKU值存在不可见的首尾空格、全半角字符差异,会导致匹配失败,筛选出的Table1记录为空。
  • LASTNONBLANK参数逻辑歧义:第二个参数填写0的逻辑容易出现异常,当筛选后Table1对应SKU的Category列没有符合「表达式计算非空」规则的记录时,就会返回空白。
解决方法

前置排查步骤

  • 统一将两表的SKU列设置为文本类型,使用TRIM()、CLEAN()函数预处理SKU值,清理隐藏字符。
  • 在模型视图中确认Table1与Table2已以SKU为键建立激活的一对多关系,Table1为关系的一端。

公式优化方案

方案1(保留LASTNONBLANK逻辑)

显式指定筛选规则,避免上下文干扰:

Category = 
CALCULATE(
    LASTNONBLANK(Table1[Category], 1),
    ALLEXCEPT(Table1, Table1[SKU])
)

将第二个参数替换为1消除歧义,用ALLEXCEPT强制仅按SKU筛选Table1记录。

方案2(更稳定的逆字母序取值方案)

文本类型的MAXX天然按逆字母序返回最大值,完全匹配你的取值需求,逻辑更可控:

Category = 
CALCULATE(
    MAXX(VALUES(Table1[Category]), Table1[Category]),
    RELATEDTABLE(Table1)
)

该方案不受LASTNONBLANK的默认排序规则影响,不会出现无理由返回空白的问题。

内容的提问来源于stack exchange,提问作者carvalh3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 01:36:03