Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
じめまして。
テーブルでIDごとに前回来店日付と来店回数を取得するためにはどうすればいいでしょうか。
・入力:
ID | 来店日 | コース |
1 | 2016年1月1日 | A |
1 | 2017年1月1日 | B |
1 | 2018年1月1日 | A |
2 | 2016年2月1日 | A |
2 | 2017年2月1日 | A |
2 | 2018年2月1日 | A |
・出力:
ID | 来店日 | コース | 前回来店 | 前回来店_コース別 | 来店回数 | 来店回数_コース別 |
1 | 2016年1月1日 | A | 1 | 1 | ||
1 | 2017年1月1日 | B | 2016年1月1日 | 2 | 1 | |
1 | 2018年1月1日 | A | 2017年1月1日 | 2016年1月1日 | 3 | 2 |
2 | 2016年2月1日 | C | 1 | 1 | ||
2 | 2017年2月1日 | C | 2016年2月1日 | 2016年2月1日 | 2 | 2 |
2 | 2018年2月1日 | C | 2017年2月1日 | 2017年2月1日 | 3 | 3 |
①前回来店:ID別に前回来店した日付
②前回来店_コース別:ID、コース別に前回来店した日付
③来店回数:ID別に来店した回数
④来店回数_コース別:ID、コース別に来店した回数
・条件
・QlikViewののは見れないため、Qliksenseのファイル形式で頂けますでしょうか。
しくはロードスクリプトをいただければ大丈夫です。
・シートではなくロードスクリプト上でテーブルとして出力したいです。
どうぞよろしくお願い致します。
特に問題なくできるようです。
ブラウザは何を使用されていますか。
Chromeでは問題ないようです。
ファイルタイプではじかれるようです。
txt、csv、qvfはダメでしたが、qvw、xls系、zipは大丈夫でした。
qvfがダメなのは問題ですね。
みなさま
有難うございます!ファイルタイプが違うとアップできないんですね。
私もサポートに聞いてみます。
また入力が間違ってました。
・入力:
ID | 来店日 | コース |
1 | 2016年1月1日 | A |
1 | 2017年1月1日 | B |
1 | 2018年1月1日 | A |
2 | 2016年2月1日 | C |
2 | 2017年2月1日 | C |
2 | 2018年2月1日 | C |
ID:2は全てコースがCでした。申し訳ございません。
下記スクリプトでいけるはずです。
TempData:
LOAD * INLINE
[
ID,来店日,コース
1,2016年1月1日,A
1,2017年1月1日,B
1,2018年1月1日,A
2,2016年2月1日,C
2,2017年2月1日,C
2,2018年2月1日,C
](delimiter is ',');
Data:
Load
ID&コース as IDコース,
*,
if(ID=Peek(ID),peek(来店回数)+1,1) as 来店回数,
if(ID=Peek(ID),peek(来店日),'') as 前回来店
Resident TempData
order by ID,来店日,コース;
Join
Load
*,
if(IDコース=Peek(IDコース),peek([来店回数_コース])+1,1) as 来店回数_コース,
if(IDコース=Peek([IDコース]),peek(来店日),'') as 前回来店_コース
Resident Data
order by IDコース,来店日;
store Data into Data.csv(txt);
Drop table TempData;
来店回数は下記数式でできます。
rangesum(above(total count(ID),0,aggr(rank(num(-date#(来店日,'YYYY年MM月DD日'))),ID,来店日)))
コースの回数もこちらでいけそうです。
rangesum(above(total count(コース),0,aggr(rank(num(-date#(来店日,'YYYY年MM月DD日'))),コース,来店日)))
実際のデータでどのような動作をするかは確認してください。