- グループ化のサポート
- Content Rowのグループ・ヘッダー
- Avatorの複数(レポート)対応
これらの機能を確認するために、サンプル・データセットの国のデータを使用します。
APEX 24.2で新設されたレポート・グループが定義されているテンプレート・コンポーネントであれば、グループ化できます。標準のテンプレート・コンポーネントではContent Rowだけがグループ化をサポートしているようです。
以下よりテンプレート・コンポーネントの新機能を確認します。
空のAPEXアプリケーションを作成し、ホーム・ページにタイプがContent Rowのリージョンを作成します。
ソースのSQL問合せに以下を設定します。
select
c.country_id
,c.name country_name
,'fa-flag-' || lower(c.iso_alpha2) icon
,c.capital
,c.population
,r.name region_name
from eba_countries c join eba_country_regions r
on c.region_id = r.id
グループ化を適用するには、グループ化する列を選択し、外観のグループをオンにします。SELECT文のGROUP BY句に与える列にあたります。
今回の例では列REGION_NAMEでグループ化します。
Capital: &CAPITAL. Population: &POPULATION.
Display Avatarをオンにし、AvatarのTypeにIcon、Iconに&ICON.、ShapeにNo Shape、SizeにLargeを設定します。これらの設定は、それぞれの行に適用されます。
グループ化の設定は、Groupingのセクションで行います。この部分がAPEX 24.2の新機能のContent Row Group Headers(Content Rowのグループ・ヘッダー)の設定です。
Titleに®ION_NAME.、Iconにfa-map-oを設定します。
一般にグループ化する場合、並替え基準(SELECT文のORDER BY句)も設定します。今回は並替え基準のタイプに静的値を選択し、ORDER BY句にREGION_NAME,COUNTRY_NAMEを設定しています。最初に現れる列はグループをオンにした列である必要があります。
以上の設定を行うと、Content Rowのリージョンは以下のように表示されます。
Avatarについても、同じSQL問合せを設定して確認します。
Avatarの属性を開きます。属性の表示に複数(レポート)を選択します。APEX 24.2以前は、単一(部分)のみでした。
設定のSpacingがAutoのときは、配置されているAvatar(今回は国旗のアイコン)が、リージョンの横幅に合わせて均等に配置されます。
Avatarのようにグループ化をサポートしていないテンプレート・コンポーネントに対してグループを設定すると、以下のようにグループ・テンプレートがない、というエラーが発生します。
今回の記事は以上になります。
簡単なアプリケーションですが、説明に使用したアプリケーションのエクスポートを以下に置きました。
https://github.com/ujnak/apexapps/blob/master/exports/sample-content-row-grouping.zip
Oracle APEXのアプリケーション作成の参考になれば幸いです。
完