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

如何修改SQL统计各场景交易决策数量,适配Tableau且不使用CTE

方案调整建议

一、原有直批/直拒交易统计SQL优化

原有SQL过滤countOfCt=1会漏掉同个交易多次触发决策但无转介/拒绝记录的场景(如编号12的交易),调整后SQL如下,全程无CTE符合Tableau使用要求:

SELECT nt.*
FROM decision nt
INNER JOIN (
    SELECT deal
    FROM decision
    WHERE subject LIKE '%Credit Decision%'
      AND comments LIKE '%DecisionCredit%'
      AND activity_dt BETWEEN '2021-06-01' AND '2021-06-30'
    GROUP BY deal
    -- 过滤掉存在转介记录的交易,仅保留直批/直拒类交易
    HAVING SUM(CASE WHEN comments LIKE '%转介%' THEN 1 ELSE 0 END) = 0
) nt2 ON nt.deal = nt2.deal
WHERE nt.subject LIKE '%Credit Decision%'
  AND nt.comments LIKE '%DecisionCredit%'
  AND nt.activity_dt BETWEEN '2021-06-01' AND '2021-06-30'
ORDER BY nt.deal, nt.activity_dt

注1:如果你的决策数据存储表名为note,可将上述SQL中的decision表名替换为note即可适配你原有逻辑;注2:转介记录的判断条件可根据你实际comments字段的取值规则调整
调整后会保留所有无转介记录的交易的全部决策数据,你可以在Tableau中按最终决策结果区分直批、直拒的计数。

二、转介类交易独立统计SQL

如下SQL可直接统计所有转介类交易,同时自动标注转介后最终结果,无需二次处理:

SELECT 
    deal,
    -- 标记转介后最终状态,可直接在Tableau中分组计数
    CASE 
        WHEN SUM(CASE WHEN comments LIKE '%批准%' THEN 1 ELSE 0 END) > 0 THEN '转介后批准'
        WHEN SUM(CASE WHEN comments LIKE '%拒绝%' THEN 1 ELSE 0 END) > 0 THEN '转介后拒绝'
        ELSE '转介处理中'
    END AS referral_result
FROM decision
WHERE activity_dt BETWEEN '2021-06-01' AND '2021-06-30'
GROUP BY deal
-- 只保留至少有一次转介记录的交易
HAVING SUM(CASE WHEN comments LIKE '%转介%' THEN 1 ELSE 0 END) >= 1

你可以直接把该SQL作为Tableau的独立数据源,直接统计转介总量、转介后批准/拒绝的数量即可。

适配说明

上述SQL中的状态判断关键词(如%批准%/%拒绝%/%转介%)可根据你实际decision表的comments字段中英文取值规则调整,时间范围也可以直接替换为Tableau参数,无需修改SQL结构即可适配动态统计需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:18:01