我刚加入一个组织,我在理解下面的代码时遇到了困难。min可以添加到case statment中吗?这里的struct是做什么的?
case min (if ( breach_flag =1, struct(rank, breach_bucket), null)).col2
when 'inbound_staging_breach'
then 'mh_breach'
when 'bag_closing_breach'
then 'mh_breach'
when 'tc_breach'
then 'tc_breach'
end
) as breach_bucket_struct
1条答案
按热度按时间1qczuiv01#
在这里,struct函数创建了一个像这样的键值组合:
对于每个值:
{“rank”:“breach bucket”}
您将从Min函数中获得这些值的最小值。
我不明白为什么你在那条语句的末尾有.col2,你是想从生成的键值集中访问col 2吗?你的语句中似乎也有语法错误。
总之,这就是你的代码中发生的事情;当breach_flag为1时,首先创建一个struct,其值为rank和breach_bucket。然后,它计算最小值,然后取.col2(即breach_bucket?)出来。基于此值,它返回特定的字符串('mh_breach'或'tc_breach')
如果你能提供更多的背景和样本数据,我将能够帮助妥善