計算されたアトリビュートをAggregateに作成する
データベースから取り出したデータが不十分で、返された値に基づいて各レコードにさらに情報を追加する必要がある場合があります。OutSystemsではそのような場合にも対応できます。他のアトリビュートの値に基づき、Aggregateから返されたレコードに新しいアトリビュートを追加できます。
- Aggregateで、[New Attribute]をクリックし、そのAggregateに新しいアトリビュートを追加して名前を付けます。
- アトリビュートのメニューを開き、[Edit formula...]を選択します。
- 値を計算する式を定義します。
例
興味のある場所を調べることができるGoOutWebというWebアプリケーションに、場所をリスト表示する画面があります。この画面で、エンドユーザーがコンボボックスから使用可能なカテゴリを選択し、リスト表示された場所をフィルタリングできるようにします。さらに、選択されたカテゴリごとの場所の数を、コンボボックスの各エントリにカテゴリ名と一緒に表示します。
このデータを計算してコンボボックスの各エントリに追加するには、以下の手順を実行します。
-
これはWebアプリケーションであるため、画面のPreparationにAggregateを追加します。
-
それにPlaceエンティティを追加します。
-
Aggregateで、以下の手順を実行します。
-
Category.Idごとにグループ化します。
-
Place.Idを使用して、各カテゴリごとの場所の数を数えます。
-
Category.Labelでグループ化して各カテゴリのラベルを取得します。
-
最後にグループ化した列メニューを開き、新しいアトリビュートを追加します。それに「Combo Box Label」という名前を付けます。
-
作成された列に次の式を代入します。
If ( Label <> "", Label + " (" + Count + ")" , "Not categorized" + " (" + Count + ")" )
変数Labelと変数Countは以前にグループ化された列です。
-
-
画面に移動してコンボボックスを追加します。その値を、新しいAggregateの返却リストとします。