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

应用Levenshtein距离时遇GENERATESERIES参数不能为空错误求助

解决DAX中GENERATESERIES触发的“generate series cannot be blank”错误

你遇到的错误根源在于:当SlicerText或TableText为空时,LEN()函数返回0,MAX(LEN(SlicerText), LEN(TableText))的结果就变成0,此时GENERATESERIES(1, 0, 1)因为起始值大于结束值,直接抛出“generate series cannot be blank”异常。

下面是修正后的度量值代码,重点处理了空值场景,确保GENERATESERIES参数合法:

Measure = 
VAR SlicerText = SELECTEDVALUE('Slicer Table'[TestColumn])
VAR TableText = SELECTEDVALUE('Table'[TestColumn])
-- 判断是否有文本为空
VAR IsEmpty = ISBLANK(SlicerText) || ISBLANK(TableText)
VAR length = 
    IF(
        IsEmpty,
        0,
        MAX(LEN(SlicerText), LEN(TableText))
    )
VAR TestTable =
    IF(
        length = 0,
        BLANK(),
        ADDCOLUMNS(
            GENERATESERIES(1, length, 1),
            "InSlicer", MID(SlicerText, [Value], 1),
            "InTable", MID(TableText, [Value], 1)
        )
    )
RETURN
    IF(
        IsEmpty,
        BLANK(), -- 要是需要空值时返回0,直接把BLANK()改成0就行
        COUNTROWS(FILTER(TestTable, [InSlicer] = [InTable])) / COUNTROWS(TestTable)
    )

关键修改说明:

  • 新增IsEmpty变量提前检测空值,避免后续计算出现非法参数
  • 调整length变量,空值场景下强制设为0,不让GENERATESERIES接收起始值大于结束值的参数
  • 给TestTable和最终返回结果加了空值判断,保证整个计算逻辑的合法性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:05:26