【发布时间】:2019-03-26 17:45:11
【问题描述】:
我试图构建查询,但不知何故没有得到所需的结果,因此发布了。我是新来的蜂巢。如果它很简单,请道歉。
源数据:
Ik - priority - ind1 - ind2 - date
1 - A - y - n - 2009/01/01
1 - B - n - y - 2019/02/09
1 - C - null - (empty)- 2018/05/07
2 - A - null - y - 2005/02/02
2 - B - null - y - 2006/05/05
2 - C - n - null - 2018/01/01
问题陈述
根据优先级和日期,我们需要为每个 ik 填充指标值(ind1 和 ind2)。
输出表格格式
Ik, ind1,ind2
逻辑是
这里 Group by 将在 ik 字段上完成。因此,对于上述数据集,输出中只会填充一条记录。
如果对于相同的 ik 值,优先级为 A,指示标志(ind1,ind2)为 y 值,则输出应填充为“y”。
但是如果相同的 ik , 优先级是 A,但指标没有值“y”。 (可能的值为 null、n、空字符串)
然后将根据日期字段从 B C 优先级中选择最新的指标(按日期排序 - 按 ik 的最新记录组)。
上述数据集的输出是
Ik - ind1 - ind2
1 - y - y
2 - n - y
这里 ind1 是 max (ind1) 。我能够得出。但无法推导出ind2。
您能帮我创建查询吗?
【问题讨论】:
-
逻辑不清楚。请根据源数据中的列名在描述的逻辑中命名指标。你在计算哪一列,为什么它只有一行输出?请描述聚合。什么是Ik列
-
您好,先生,感谢您指出细节。我现在已经更新了问题陈述。谢谢