我们有一个要求,我们需要上个季度的开始和结束日期。
要获取startData(sd)和endDate(ed),我们可以通过以下代码来实现,但是有什么更好/更干净/更有效的方法来实现这一点。
sd:"d"$("m"$3 xbar "m"$ .z.d)-3;
ed:("d"$3 xbar "m"$ .z.d)-1;
答案 0 :(得分:2)
您的方法已经非常有效。
q)"d"$("m"$3 xbar "m"$ .z.d)-3
2019.01.01
q)\t:1000000 "d"$("m"$3 xbar "m"$ .z.d)-3
2611
不过,您可以尝试以下方法以使其更加高效和清洁:
q)"d"$-3+3 xbar "m"$.z.d
2019.01.01
q)\t:1000000 "d"$-3+3 xbar "m"$.z.d
2281
答案 1 :(得分:1)
我认为您的解决方案足够好。您可以从开始日期就消除多余的月份转换,并重新排列代码以消除括号。
q) sd:"d"$ -3+3 xbar "m"$ .z.d
q) ed: -1 + "d"$3 xbar "m"$ .z.d
或者您可以同时计算两者:
q) 0 -1 + "d"$-3 0 + 3 xbar "m"$.z.d
q) 2019.01.01 2019.03.31