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

如何用Power BI或T-SQL删除flow含NULL/0的SiteID对应的所有行

需求完全可以实现,以下是两种场景下的落地方案:

方案1:T-SQL实现(优先推荐,大数据量处理效率更高)

无需逐行遍历全表,直接使用数据库的集合运算即可完成,200万行数据执行效率远高于逐行逻辑:

-- 方案A:直接在原表删除不符合要求的记录
DELETE FROM 你的业务表名
WHERE SiteID IN (
    SELECT DISTINCT SiteID
    FROM 你的业务表名
    WHERE flow IS NULL OR flow = 0
)

-- 方案B:不修改原表,将清洗后的数据写入新表(更安全)
SELECT * 
INTO 清洗后的结果表名
FROM 你的业务表名
WHERE SiteID NOT IN (
    SELECT DISTINCT SiteID
    FROM 你的业务表名
    WHERE flow IS NULL OR flow = 0
)

优化提示:如果SiteID和flow字段没有建索引,执行前先建索引可以大幅提升处理速度,200万行数据通常可在1分钟内处理完成。

方案2:Power BI 内置Power Query工具实现

如果需要在Power BI的数据准备环节完成清洗,可按以下步骤操作:

  • 将数据集导入Power Query编辑器
  • 选择「转换」选项卡 -> 点击「分组依据」,分组字段选择SiteID,新列名设置为存在无效Flow,操作选择「自定义」,公式输入:List.AnyTrue(List.Contains({null,0}, [flow]))
  • 筛选存在无效Flow列,仅保留值为False的行,即可过滤掉所有存在无效flow的SiteID对应全部记录
  • 删除统计用的辅助列,导出或加载清洗后的数据即可

提示:200万行数据用Power Query处理需要预留足够内存,处理时长通常在3-10分钟左右。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:09:03