GROUP BY在LOAD语句中创建了字段

时间:2017-03-23 15:47:46

标签: qlikview

我正在尝试通过LOAD语句中的已创建字段进行GROUP。

这是我的剧本:

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行col 10

我正在尝试在每个MonthYear分组中找到Max EFF DATE。

请协助。

1 个答案:

答案 0 :(得分:0)

我假设您正在尝试使用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之前输入了前面的加载,它也仅在返回整个结果集之后执行。如果在该步骤中需要该组,则需要一些其他方法来执行该组。