Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
いつもお世話になっております。
QlikViewへExcelデータを取り込むスマートな方法を教えてください。
以下のようなEXCELデータを取り込み、
項目1~項目5までが同じ値で項目6が一番大きい値のレコードには項目8でフラグ1を立てたいと思っています。
No.3,5,6,9にフラグがたてば正解です。
項目1 | 項目2 | 項目3 | 項目4 | 項目5 | 項目6 | 項目7 | |
---|---|---|---|---|---|---|---|
1 | 1001 | a | b | c | d | 1 | 0.5 |
2 | 1001 | a | b | c | d | 2 | 0.7 |
3 | 1001 | a | b | c | d | 3 | 1.2 |
4 | 1002 | a | b | c | d | 1 | 2.0 |
5 | 1002 | a | b | c | d | 2 | 1,6 |
6 | 1003 | a | b | c | f | 1 | 0.9 |
7 | 1004 | a | b | c | e | 1 | 0.5 |
8 | 1004 | a | b | c | e | 2 | 0.9 |
9 | 1004 | a | b | c | e | 3 | 0.1 |
現状GroupByとFirstValueを使ってやりたいことは実現できているのですが、
データ量が非常に多いため処理が遅く、もっと効率的に取り込めないかと考えています。
効率的な方法があれば教えてください。
よろしくお願いします。
下記も、並び替え処理があるので、GroupByを使う場合とあまり変化がないかもしれませんが、一度試してみてください。
TEMP:
LOAD 項目1,
項目2,
項目3,
項目4,
項目5,
項目6,
項目7,
項目1&'_'&項目2&'_'&項目3&'_'&項目4&'_'&項目5 as key
FROM
[..............
NoConcatenate
DATA:
LOAD 項目1,
項目2,
項目3,
項目4,
項目5,
項目6,
項目7,
IF(key=Previous(key),NULL(),Num(1)) as 項目8
Resident TEMP
Order By key,項目6 desc;
DROP Table TEMP;
下記も、並び替え処理があるので、GroupByを使う場合とあまり変化がないかもしれませんが、一度試してみてください。
TEMP:
LOAD 項目1,
項目2,
項目3,
項目4,
項目5,
項目6,
項目7,
項目1&'_'&項目2&'_'&項目3&'_'&項目4&'_'&項目5 as key
FROM
[..............
NoConcatenate
DATA:
LOAD 項目1,
項目2,
項目3,
項目4,
項目5,
項目6,
項目7,
IF(key=Previous(key),NULL(),Num(1)) as 項目8
Resident TEMP
Order By key,項目6 desc;
DROP Table TEMP;
ご回答いただきありがとうございます。
試してみましたがあまり処理速度に変化はありませんでした。
しかしあらたな手法を習得できましたので大変参考になりました。
今後ともよろしくお願します。