如何根据SQL中的会计年度标记活动的旧帐户和新帐户

如何根据SQL中的会计年度标记活动的旧帐户和新帐户,sql,sql-server,Sql,Sql Server,我有一个包含多个列的表,但下面是几个必要列的示例。我想根据账户开始日期计算出给定会计年度中给定账户的新/旧位置。以下是示例数据: 帐户ID帐户ID BU CC开始日期活动日期销售预算年度 1抵销10 1000 2018年2月2日2018年3月10日2018财年10 1抵消10 1000 2018年2月2日2018年4月9日2018财年35 1抵销10 1000 2018年2月2日2018年4月24日2018财年60 1抵销额10 1000 2018年2月2日2018年5月9日2018财年85 1

我有一个包含多个列的表,但下面是几个必要列的示例。我想根据账户开始日期计算出给定会计年度中给定账户的新/旧位置。以下是示例数据:

帐户ID帐户ID BU CC开始日期活动日期销售预算年度 1抵销10 1000 2018年2月2日2018年3月10日2018财年10 1抵消10 1000 2018年2月2日2018年4月9日2018财年35 1抵销10 1000 2018年2月2日2018年4月24日2018财年60 1抵销额10 1000 2018年2月2日2018年5月9日2018财年85 1抵销额10 1000 2018年2月2日2018年5月24日2018财年110 1抵销额10 1000 2018年2月2日2018年6月8日2018财年135 1抵销额10 1000 2018年2月2日2018年6月23日2016财年 1抵销额10 1000 2018年2月2日2018年7月8日2018财年185 1抵销额10 1000 2018年2月3日2018年7月23日2018财年210 1抵销10 1000 2018年2月4日2018年8月7日2018财年235 1抵销10 1000 2018年2月5日2018年8月22日2018财年260 1抵销额10 1000 2018年2月6日2018年9月6日285 2019财年 1抵销额10 1000 2018年2月7日2018年9月21日2019财年310 1抵消20 1000 2019年1月12日2020年1月1日335 FY2020 1抵消20 1000 2019年1月12日2020年5月2日2020财年360 1抵消20 1000 2019年1月12日2020年3月11日385 FY2020 1抵消20 1000 2019年1月12日2020年4月15日410 FY2020 1抵消20 1000 2019年1月12日2020年5月20日435 FY2020 1抵消20 1000 2019年1月12日2020年6月24日460 FY2020 1偏移量20 1000 2019年1月12日2020财年7月29日485 1抵消20 1000 2019年12月1日2020年9月2日2010财年2021财年 1抵销20 1000 2019年1月12日2020年7月10日2021财年535

我们公司的预算年度周期与日历年不同。预算年度从9月开始,一直持续到次年8月。我想根据账户开始日期计算新/旧账户,并考虑在5个月之前的财年仍然是新账户。想要的数据示例如下所示:

Account ID  Account Name    Business Unit   Costco Center   Account Start Date  Actual Activity Dates   Sales   Budget Year New/Old Account Budget Begin Date   
select year(dateadd(month, 4, startdate)) as fy
我想根据已启动的帐户标记新帐户/帐户的活动。如果他的账户在新会计期的5个月之前开始,那么我想将其标记为下一个会计年度的新账户。比如说,账户开始于2019年1月4日,账户开始的会计年度为2019财年,但我想将其标记为2020财年的新账户。对于2019财年和2020财年的活动,我希望旗帜是新的,2020财年之后的活动应该是旧的

帐户ID帐户ID BU CC开始日期活动日期销售预算年度新/旧/其他标志开始日期会计年度的活动应在实际会计年度开始标志结束日期之前5个月 1抵销10 1000 2018年2月2日2018年3月10日2018财年10新的4/1/2017年8/31/2018 1抵销10 1000 2018年2月2日2018年4月9日2018财年35新的2017年4月1日2018年8月31日 1抵消10 1000 2018年2月2日2018年4月24日60财年2018年4月1日新的2018年8月31日 1抵销10 1000 2018年2月2日2018年5月9日2018财年85新的2017年4月1日2018年8月31日 1抵销10 1000 2018年2月2日2018年5月24日2018财年110新的2017年4月1日2018年8月31日 1抵销额10 1000 2018年2月2日2018年6月8日135财年2018新4/1/2017年8/31/2018 1抵销额10 1000 2018年2月2日2018年6月23日160财年2018新4/1/2017年8/31/2018 1抵销10 1000 2018年2月2日2018年7月8日2018财年185新4/1/2017年8/31/2018 1抵销10 1000 2018年2月3日2018年7月23日2018财年210新的2017年4月1日2018年8月31日 1抵消10 1000 2018年2月4日2018年8月7日235 2018财年新的4/1/2017年8/31/2018 1抵销额10 1000 2018年2月5日2018年8月22日2018财年260新4/1/2017年8/31/2018 1抵销10 1000 2018年2月6日2018年9月6日285 2019财年旧的2018年4月1日2019年8月31日 1抵销10 1000 2018年2月7日2018年9月21日310 FY2019旧版2018年4月1日2019年8月31日 1抵消20 1000 2019年1月12日2020年1月1日335 FY2020新4/1/2019 8/31/2020 1抵消20 1000 2019年1月12日2020年5月2日2020财年360新建2019年1月4日2020年8月31日 1抵消20 1000 2019年1月12日2020年11月3日385 FY2020新4/1/2019 8/31/2020 1抵消20 1000 2019年1月12日2020年4月15日410 2020财年新的2019年4月1日2020年8月31日 1抵消20 1000 2019年1月12日5/20/2020财年435 2020财年新4/1/2019 8/31/2020 1抵消20 1000 2019年1月12日2020年6月24日460 2020财年新的2019年4月1日2020年8月31日 1抵消20 1000 2019年1月12日2020年7月29日485 2020财年新的2019年4月1日2020年8月31日 1抵消20 1000 2019年1月12日2020年9月2日510 FY2021旧的4/1/2020 8/31/2021 1抵消20 1000 2019年1月12日10/7/2020 535 FY2021旧的4/1/2020 8/31/2021


对于帐户的每个给定活动,我都想看看新目录或旧目录是否盈利。用于分析的目的是,当账户是新的还是旧的时,查看其在活动中的新收益。

您可以通过添加4个月或减去8个月,然后提取您不说是2000年9月还是2000年8月的年度,来获得账户的会计年度 2001年为2000财年或2001财年

逻辑如下:

Account ID  Account Name    Business Unit   Costco Center   Account Start Date  Actual Activity Dates   Sales   Budget Year New/Old Account Budget Begin Date   
select year(dateadd(month, 4, startdate)) as fy

在此处输入图像描述不会告诉我们有关您的数据的任何信息,但是,无论如何不要发布图像;以可消费的格式发布数据。最好是DDL和DML语句,但是,如果不是格式良好的表格文本。此外,别忘了向我们展示您迄今为止所做的尝试,并解释为什么它不起作用。问一个问题也很重要,因为您在这里没有问过。但我需要知道,对于这些年来的每一项活动,我想根据帐户发布日期和开始的会计年度,在给定的时间标记帐户是新的还是旧的。这就是为什么我们需要样本数据,@sql初学者,你忽略的图片链接不算在内。