我需要按公司的财务日历对月份进行排序。到目前为止,我只能按字母顺序(八月四月,十二月,二月)进行排序。 我需要它对10月至9月进行排序
Fiscal Year Month Name COUNT(DISTINCT CTL_NO)
2019 April 437
2019 December 707
2019 February 600
2019 January 730
2019 March 542
2019 November 745
2019 October 955
2018 April 600
2018 August 902
2018 December 728
2018 February 593
2018 January 745
2018 July 812
2018 June 704
2018 March 671
2018 May 589
2018 November 590
2018 October 769
2018 September 810
答案 0 :(得分:1)
一种实现方法是使用CASE表达式设置您的排序键。由于您的表似乎将月份存储为字符串,因此我们需要将其转换为DATE。有了DATE数据类型后,我们可以提取月份号,我们可以用它来对
进行排序CLIPS>
(deftemplate queue-element
(slot order (type INTEGER) (default -1)))
CLIPS>
(defrule put-at-the-end
?e1 <- (queue-element (order -1))
?e2 <- (queue-element (order ?o1))
(not (and (queue-element (order ?o2))
(test (> ?o2 ?o1))))
=>
(modify ?e1 (order (+ ?o1 1))))
CLIPS>
这对于一次性使用(例如学校作业)是很好的选择,但它不是很可靠,每次需要时都必须重复。
更好的方法是拥有一个会计日历表,该表告诉您每年的每个日历日是哪个会计年度,会计月份,会计周等。每年只有365/366行,因此没有太多开销。诸如此类的表格通常在“现在”之前几年填充,过去的数据基本上留在原地,因此可以查询过去的日期并轻松确定相关的财务日期。
好运。