麦粉社区
>
帖子详情

数据模型直连式生成SQL问题报错

数据分析 发表于 2022-7-29 14:51
发表于 2022-7-29 14:51:34

直连式按枚举自定义分组产品编号



自定义分组勾选维度,指标



生成的报错SQL:


select
    (
        case
            when `ProductID` in (1, 2, 3) then '分组1'
            when `ProductID` in (4, 5, 6) then '分组2'
            when `ProductID` in (7, 8, 9, 11, 10) then '分组3'
            else '其他'
        end
    ) as `c0`,
    sum(`T1`.`Quantity`) as `m0`
from
    `products` as `T3`,
    `orderdetails` as `T1`
where
    `T1`.`ProductID` = `T3`.`ProductID`
    and (
        case
            when `ProductID` in (1, 2, 3) then '分组1'
            when `ProductID` in (4, 5, 6) then '分组2'
            when `ProductID` in (7, 8, 9, 11, 10) then '分组3'
            else '其他'
        end
    ) in ('其他', '分组1', '分组2', '分组3')
group by
    (
        case
            when `ProductID` in (1, 2, 3) then '分组1'
            when `ProductID` in (4, 5, 6) then '分组2'
            when `ProductID` in (7, 8, 9, 11, 10) then '分组3'
            else '其他'
        end
    )


 


 


如果直连式生成的SQL改成这样没没问题:


select
    (
        case
            when `T1`.`ProductID` in (1, 2, 3) then '分组1'
            when `T1`.`ProductID` in (4, 5, 6) then '分组2'
            when `T1`.`ProductID` in (7, 8, 9, 11, 10) then '分组3'
            else '其他'
        end
    ) as `c0`,
    sum(`T1`.`Quantity`) as `m0`
from
    `products` as `T3`,
    `orderdetails` as `T1`
where
    `T1`.`ProductID` = `T3`.`ProductID`
    and (
        case
            when `T1`.`ProductID` in (1, 2, 3) then '分组1'
            when `T1`.`ProductID` in (4, 5, 6) then '分组2'
            when `T1`.`ProductID` in (7, 8, 9, 11, 10) then '分组3'
            else '其他'
        end
    ) in ('其他', '分组1', '分组2', '分组3')
group by
    `C0`


 


抽取式建模查询同样的维度,度量勾选没问题

发表于 2022-7-29 19:15:13
你怎么改的呀,好像没有不太懂
回复

使用道具 举报

发表于 2022-7-29 19:23:21
可以发邮件问一下
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

2回帖数 0关注人数 642浏览人数
最后回复于:2022-7-29 19:23
快速回复 返回顶部 返回列表