我试图编写逻辑以获得低于输出但未成功。我的头脑 现在空白。你能和我分享你的想法吗?我确定我们一起 可以找出一些SQL中最简单的解决方案,以获得以下 输出。交叉加入以获得特定月份在特定年份的所有季度末月份
添加更多,我不想Q4键。 请注意,表格是包含更多列的月份维度,例如 Prev01,02 ...个月份的键。
标签为SQL Server & Teradata以及我关心的逻辑只有&不是语法。我正在使用Teradata。
现有数据:
预期输出:
一年总那么预期的记录将是12 * 3 = 36
编辑:对于每一年,我们估计&预算值。例如。
2016年,估算值将来自2016年3月(Q1),2016年6月(Q2),2016年9月(Q3)。还有一个预算值将从2015年12月(Q4)开始。 因此,2016年的任何一个月都会有相同的预算估算值。这只会在年份发生变化时才会改变。我希望现在很清楚......
不幸的是,我不能共享表DDL或示例数据。所以试图尽可能简单地解释场景。我能够编写SQL来获得预算值,但对于估计,情况有点棘手。因此,让我们说2016年4月,我想要的估算值是2016年3月,2016年6月,2016年9月。 现有数据是一个类似于样本数据的截图。
添加更多,月份密钥就像一个标识列。一月至2017年将有一个月键13 &等等...
看起来,'Quarter_End'包含来自JAN **的月数**。 – Vikrant
请分享相关表格DDL语句和样本数据作为DML。你在这里已经有一段时间了,现在你应该知道分享代码和图像更好。 –
目前还不清楚你实际需要什么。我们不知道为什么你会在一月,三月,六月和九月。为什么不与8月例如?这里有适用的规则吗?然后有列quarter_start和quarter_end,其价值似乎没有多大意义。在表中,它似乎只是一个月每年季度的数字。在结果中,它似乎是连接月份的月份数或month_key。我不知道哪个。 –