从财政年度中提取季度为真或假
Posted
技术标签:
【中文标题】从财政年度中提取季度为真或假【英文标题】:Extract Quarter from financial year as true or false 【发布时间】:2020-07-01 02:44:01 【问题描述】:我有两张桌子。我需要将 Quarter 提取为真或假。财政年度从 10 月开始。所以 Q1=Oct-Dec, Q2= Jan-Mar, Q3=Apr-Jun, Q4= Jul-Sept。我还需要确定它是前一周的真假。一周从星期日开始。这是一个被认为是 Q1= Jan-Mar 等的查询,但我需要考虑 Q1= Oct-Dec 等等。
选择(案例 WHEN (CAST(REPLACE(UPPER("FY20"), "FY", "") AS INT64) + 2000 = EXTRACT(从当前日期开始的年份)) AND (CAST(REPLACE(UPPER("Q2"), "Q", "") AS INT64) = EXTRACT(QUARTER FROM CURRENT_DATE)) THEN true 别的 错误的 结尾 ) 作为 FYQuarterToDate,
请参阅输入和输出表。
【问题讨论】:
【参考方案1】:但我需要考虑 Q1= Oct-Dec 等等...
您只需将日期更改为 3 个月即可获得正确的季度编号,如下例所示
FORMAT('Q%i', EXTRACT(QUARTER FROM DATE_ADD(CURRENT_DATE, INTERVAL 3 MONTH)))
根据以下规则为您提供 QN - Q1=Oct-Dec, Q2= Jan-Mar, Q3=Apr-Jun, Q4= Jul-Sept
【讨论】:
@Mikhali,感谢您的帮助。所以我需要更改本季度的代码。另外,我怎样才能找到当前的一周,前一周。 我认为您应该将EXTRACT(QUARTER FROM CURRENT_DATE)
替换为EXTRACT(QUARTER FROM DATE_ADD(CURRENT_DATE, INTERVAL 3 MONTH))
。截至本周 - 您的问题没有任何详细信息,而且我们通常希望一次提出一个问题 - 所以我建议您发布有关一周的新问题:o)
@Mikhali,感谢您的帮助。它现在工作正常。我会为这周再创建一个。【参考方案2】:
另一种性能稍微好一点的方法是
MOD(EXTRACT(QUARTER FROM CURRENT_DATE), 4) + 1
这是因为MOD
和+1
的执行速度比DATE_ADD(INTERVAL MONTH)
快
【讨论】:
感谢您分享您的想法。这个查询给了我 4,这意味着它是 Q4。根据我的问题,本月是第四季度。以上是关于从财政年度中提取季度为真或假的主要内容,如果未能解决你的问题,请参考以下文章
在 Python Pandas 中将带有元素日期标签的年度财政数据元组转换为时间序列
如何检索动态框值(如果选中,则为真或假) - Angular 6