Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
yuktayukata
Contributor II
Contributor II

最新日付のレコードのみをLoadする方法

以下のような入力ファイルがあり、商品ID単位で最新日付とそれに対応する在庫数のみをLOADしたい場合どのようなScriptになるでしょうか。

不要なレコードをLoadすることなく必要レコードのみを抽出してLoadしたいと思います。

品ID日付在庫数
A2015/1/11
A2015/2/12
A2015/3/13
A2016/3/14
B2015/3/11
B2016/3/12
B2016/4/11
C2015/1/11
C2015/2/13
C2015/3/12
D2016/4/11
D2016/4/22
E2016/5/31
Labels (1)
1 Solution

Accepted Solutions
hka
Employee
Employee

他にもいい方法があるかもしれませんが、これで実現可能です。

temptable:
LOAD * INLINE [
    商品ID, 日付, 在庫数
    A, 2015/1/1, 1
    A, 2015/2/1, 2
    A, 2015/3/1, 3
    A, 2016/3/1, 4
    B, 2015/3/1, 1
    B, 2016/3/1, 2
    B, 2016/4/1, 1
    C, 2015/1/1, 1
    C, 2015/2/1, 3
    C, 2015/3/1, 2
    D, 2016/4/1, 1
    D, 2016/4/2, 2
    E, 2016/5/3, 1
];

table:
LOAD Distinct
商品ID,
max(日付) as 日付
Resident temptable
group by 商品ID ;

left join
LOAD *
Resident temptable;

drop Table temptable;

View solution in original post

2 Replies
hka
Employee
Employee

他にもいい方法があるかもしれませんが、これで実現可能です。

temptable:
LOAD * INLINE [
    商品ID, 日付, 在庫数
    A, 2015/1/1, 1
    A, 2015/2/1, 2
    A, 2015/3/1, 3
    A, 2016/3/1, 4
    B, 2015/3/1, 1
    B, 2016/3/1, 2
    B, 2016/4/1, 1
    C, 2015/1/1, 1
    C, 2015/2/1, 3
    C, 2015/3/1, 2
    D, 2016/4/1, 1
    D, 2016/4/2, 2
    E, 2016/5/3, 1
];

table:
LOAD Distinct
商品ID,
max(日付) as 日付
Resident temptable
group by 商品ID ;

left join
LOAD *
Resident temptable;

drop Table temptable;

yuktayukata
Contributor II
Contributor II
Author

早々の回答、どうもありがとうございます。

期待通りのテーブルができました。