我需要计算对应于本月第一个月的Snapdate的BLACKLOG_M值。它将成为每月每一行重复的常数值。
正如图中所解释的:

SELECT T1.SNAP, T1.PERI, T1.ANNEE, T1.MOIS, T1.[BCKL], T2.[BCKL] AS BCK2,[NBR1]
,[NBR2]
FROM stg.FACTSALES AS T1 LEFT OUTER JOIN
(SELECT YEAR(SNAP) AS ANNEE, MONTH(SNAP) AS MOIS, [BCKL]
FROM stg.FACTSALES
WHERE (DAY(SNAP) = 1)) AS T2 ON T2.ANNEE = T1.ANNEE AND T2.MOIS = T1.MOIS 脚本返回正确的值,但是还有其他最好的想法或改进吗?
发布于 2019-01-11 15:24:57
您希望将该值从月份的第一天复制到该月份的其余部分。这应该是可能的。
select fs.*,
(case when day(snapdate) = 1
then max(case when day_snapdate() = 1 then backlog_m end) over (partition by year_month)
end) as backlog_m_1
from stg.FACTSALES fs;这也将在第一天指定值。目前还不清楚你想要的价值是什么。
https://stackoverflow.com/questions/54149311
复制相似问题