根据SAS中的“今天”日期,需要最后一个季度的第一个日期和最后一个日期

时间:2020-02-27 08:13:36

标签: date sas sas-macro

我需要根据今天的日期提取上一季度的数据。我需要使其动态。

使用intnx,我可以提取最后一天,而不是第一天。

data _null_;
a = intnx('quarter',today(),-1,'end');
format a date9.;
put a;
run;

任何人都可以分享如何获取上一季度的开始和结束日期的逻辑吗?

2 个答案:

答案 0 :(得分:2)

您只需要对intnx函数的最后一个参数进行较小的修正

private ViewModelStoreOwner getStoreOwner() {
        NavController navController = Navigation
                .findNavController(requireActivity(), R.id.root_navigator_fragment);
        return navController.getViewModelStoreOwner(R.id.root_navigator);        
}


private void setUpSearchViewModel() {
    searchViewModel = new ViewModelProvider(getStoreOwner()).get(SearchViewModel.class);
}

答案 1 :(得分:1)

来自可靠的INTNX documentation

第四个参数 alignment 是可选的

“对齐”
控制时间间隔内SAS日期的位置。您必须将对齐方式放在引号中。对齐方式可以是以下值之一:

  • 开始
    指定返回的日期或日期时间值与间隔的开始对齐。
    别名 B

  • 中级
    指定返回的日期或日期时间值与间隔的中点对齐,该间隔是开始和结束对齐值的平均值。
    别名 M

  • END
    指定返回的日期或日期时间值与间隔的结尾对齐。 别名 E

  • 相同 指定返回的日期与输入日期具有相同的对齐方式。
    别名 S,同一天,请参见SAME Alignment

默认开始

请参见 Aligning SAS Date Output within Its Intervals以获取更多信息。