GROUP BY 在 LOAD 语句中创建字段

GROUP BY created field in LOAD statement

我正在尝试按 LOAD 语句中创建的字段进行分组。

这是我的脚本:

LOAD 
"EFF_DATE",
 Dual(Month(EFF_DATE) & '-' & Date(EFF_DATE, 'YY'), Num(Year(EFF_DATE)) & Num(Month(EFF_DATE), '00')) AS MonthYear,
 Max("EFF_DATE");

SELECT "EFF_DATE"
FROM "DataSet"
GROUP BY "MonthYear";

我收到以下错误: 一般错误;260 列名无效:MonthYear:第 4 行第 10 行

我试图在每个 MonthYear 分组中找到最大 EFF DATE。

请协助。

我假设您正在尝试使用 max(EFF_DATE) 表达式查找每个月的结束日期。如果不告诉我你想做什么,我会编辑我的答案

试试这个

SOURCE_DATES:
SELECT "EFF_DATE"
FROM "DataSet";

DATES:
LOAD 
    "EFF_DATE",
    Dual(Month(EFF_DATE) & '-' & Date(EFF_DATE, 'YY'), Num(Year(EFF_DATE)) & Num(Month(EFF_DATE), '00')) AS MonthYear,
monthend("EFF_DATE") as MaxDate
resident SOURCE_DATES;
drop table SOURCE_DATES;

您要做的是在创建组之前将其传递给 SELECT。

尽管前面的加载是在 select 之前输入的,但它仅在返回整个结果集后才执行。如果在该步骤中需要,您将需要一些其他方法在该步骤中执行该分组。