Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
初めて投稿させてただきます。
QVでアプリを作成しており、苦戦しているため、皆様の知識をお借りしたく思います。
下記のようなデータから、スクリプト内でID毎に価格が最大値を取った連番を取得したいのですが、何か方法はあるのでしょうか?
ID、連番、価格
クッキー| 1 | 100
クッキー| 2 | 120
マシュマロ| 1 | 250
シュママロ | 2 | 200
シュママロ | 3 | 270
シュママロ | 4 | 250
チョコレート| 1 | 65
チョコレート| 2 | 65
チョコレート| 3 | 55
↓
クッキー| 2 | 120
シュママロ | 3 | 270
チョコレート| 1 | 65
このようになる方法を探しています。
チャート関数ではAGGRが似ているような機能と思いますが、スクリプト上では使用できないようですので。
どなたかお分かりになる方、教えていただけると助かります。
以下のスクリプトでいかがでしょうか?
GroupByでIDをまとめ、価格が最大のものと、それに該当する連番のうち最小のもの(チョコレートで1,2が同価格であるが、小さい方の「1」をピックアップしたいという意図を想定)を抽出しています。
[Sample]:
Load * Inline [
ID,連番,価格
クッキー, 1 , 100
クッキー, 2 , 120
マシュマロ, 1 , 250
マシュマロ, 2 , 200
マシュマロ, 3 , 270
マシュマロ, 4 , 250
チョコレート, 1 , 65
チョコレート, 2 , 65
チョコレート, 3 , 55
];
[Sample_Max]:
Load
ID,
FirstSortedValue(DISTINCT [連番],-[価格]),
Max(価格)
Resident Sample
Group by ID;
以下のスクリプトでいかがでしょうか?
GroupByでIDをまとめ、価格が最大のものと、それに該当する連番のうち最小のもの(チョコレートで1,2が同価格であるが、小さい方の「1」をピックアップしたいという意図を想定)を抽出しています。
[Sample]:
Load * Inline [
ID,連番,価格
クッキー, 1 , 100
クッキー, 2 , 120
マシュマロ, 1 , 250
マシュマロ, 2 , 200
マシュマロ, 3 , 270
マシュマロ, 4 , 250
チョコレート, 1 , 65
チョコレート, 2 , 65
チョコレート, 3 , 55
];
[Sample_Max]:
Load
ID,
FirstSortedValue(DISTINCT [連番],-[価格]),
Max(価格)
Resident Sample
Group by ID;