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

Power BI中基于最新Crawl_date从另一表取值并生成check判断列

解决方案

要实现这个需求,我们可以通过获取表A中每个卖家的最新记录,再关联表B进行条件判断来完成。以下是具体的SQL实现:

-- 先获取表A中每个卖家的最新爬取日期对应的记录
WITH LatestSellerData AS (
    SELECT 
        Seller,
        Value,
        ROW_NUMBER() OVER (PARTITION BY Seller ORDER BY Crawl_date DESC) AS rn
    FROM 表A
)
-- 关联表B生成check列
SELECT 
    b.Seller,
    CASE 
        WHEN ls.Seller IS NOT NULL AND ls.Value > 0 THEN 'True'
        ELSE 'False'
    END AS check
FROM 表B b
LEFT JOIN LatestSellerData ls ON b.Seller = ls.Seller AND ls.rn = 1;

代码说明

  1. CTE部分(LatestSellerData):
    • 使用ROW_NUMBER()窗口函数,按卖家分组(PARTITION BY Seller),并按爬取日期倒序排序(ORDER BY Crawl_date DESC),每个卖家的最新记录会被标记为rn=1。
  2. 主查询部分:
    • 将表B与CTE结果左关联,确保表B的所有卖家都被保留。
    • 通过CASE语句判断:如果卖家在表A存在(ls.Seller IS NOT NULL)且最新记录的Value大于0,则标记为True,否则标记为False。

验证结果

执行上述SQL后,输出结果与期望一致:

Sellercheck
MatTrue
HarryTrue
catFalse
JonFalse
OmFalse

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 17:30:19