Dimensionality - チャート関数
Dimensionality() 現在の行の軸の数を返します。ピボット テーブルの場合、この関数は、集計以外の内容 (部分合計または折りたたまれた集計を含まない) を含む軸列の合計数を返します。
構文:
Dimensionality ( )
戻り値データ型: 整数
制限事項:
この関数は、チャートでのみ使用できます。ピボット テーブル以外のすべてのチャート タイプの場合は、合計行を除くすべての行の軸の数を返します。合計行の場合は 0 を返します。
チャートの式いずれかにこのチャート関数が使用されている場合、チャートの y 値のソート、またはテーブルの式列ごとのソートは許可されません。よって、これらのソート機能は自動的に無効になります。ビジュアライゼーションまたはテーブルでこのチャート関数を使用すると、ビジュアライゼーションのソートは、レコード間の関数に対するソートされた入力の状態に戻ります。
例: Dimensionality を使用したチャートの数式
概要
ピボット テーブルで Dimensionality 関数をチャートの数式として使用し、集計されていないデータがある行の軸の数に応じて異なるセルの書式設定を適用します。この例では、指定された条件に一致するテーブル セルに背景色を適用します。
データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。
ロード スクリプトには次が含まれています:
-
「Example」というデータ テーブルにロードされるデータセット。
-
データ テーブル内の次の項目:
-
Country
-
Product
-
Sales
-
Budget
-
ロード スクリプト
Example:
Load * inline [
Country, Product, Sales, Budget
Sweden, AA, 100000, 50000
Germany, AA, 125000, 175000
Canada, AA, 105000, 98000
Norway, AA, 74850, 68500
Ireland, AA, 49000, 48000
Sweden, BB, 98000, 99000
Germany, BB, 115000, 175000
Norway,BB,71850,68500
Ireland,BB,31000,48000
] (delimiter is ',');
インライン ロードの使用の詳細については、インライン ロードを使用したデータのロード を参照してください。
結果
データをロードしてシートを開きます。新しいピボット テーブルを作成し、次の項目を行の軸として追加します。
-
Country
-
Product
次のメジャーを作成します:
-
=Sum(Sales)、Sales 値の合計を計算します。
-
=Sum(Budget)、Budget 値の合計を計算します。
-
=Dimensionality()、現在の行の軸の数を返します。
Sum(Sales) メジャーの [プロパティ] パネルで、 [背景色数式] として次の数式を入力します。
=If(Dimensionality()=1 and Sum(Sales)<Sum(Budget),RGB(255,156,156),
If(Dimensionality()=2 and Sum(Sales)<Sum(Budget),RGB(178,29,29)
)
)
背景色数式の出力は、適用可能な条件が満たされた場合に、薄い赤または濃い赤のセル背景をテーブル セルに適用します。
Country | |||
---|---|---|---|
Product | |||
Sum(Sales) | Sum(Budget) | Dimensionality() | |
(+) Canada | 105000 | 98000 | 1 |
(-) Germany | 240000 | 350000 | 1 |
AA | 125000 | 175000 | 2 |
BB | 115000 | 175000 | 2 |
(+) Ireland | 80000 | 96000 | 1 |
(+) Norway | 146700 | 137000 | 1 |
(+) Sweden | 198000 | 149000 | 1 |
最初の行の軸 (Country) が表示されると、 Dimensionality 関数は 1 を返します。Germany などの行の軸を展開して 2 番目の行の軸 (Product) を表示すると、関数は 2 を返します。
メジャー Sum(Sales) の背景色の数式は、軸と売上に基づいて計算を実行し、さまざまな結果を強調表示します。軸が 1 の場合、Sum(Sales) が Sum(Budget) より小さい Country は薄い赤色で表示されます (この例では、Germany と Ireland)。軸が 2 の場合、Sum(Sales) が Sum(Budget) より小さい Product は濃い赤色で表示されます (この例では、AA、BB、Germany)。
例 - Dimensionality のシナリオ
概要
この例では、Dimensionality 関数を使用してレポートに詳細を適用し、一部の軸のテーブル セルを強調表示します。
データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。
ロード スクリプトには次が含まれています:
-
「Example」というデータ テーブルにロードされるデータセット。
-
データ テーブル内の次の項目:
-
Region
-
SalesProduct
-
Year
-
SalesValue
-
Quantity
-
Product
-
ロード スクリプト
Example:
LOAD * INLINE [
Region, SalesProduct, Year, SalesValue, Quantity, Profit
North, Laptop, 2023, 20000, 15, 4000
North, Mobile, 2023, 15000, 25, 3000
North, Laptop, 2022, 18000, 20, 3500
North, Mobile, 2022, 14000, 22, 2800
South, Laptop, 2023, 22000, 18, 4500
South, Mobile, 2023, 16000, 27, 3200
South, Laptop, 2022, 19000, 19, 3800
South, Mobile, 2022, 15000, 23, 3100
East, Laptop, 2023, 21000, 16, 4200
East, Mobile, 2023, 15500, 24, 3100
East, Laptop, 2022, 18500, 18, 3900
East, Mobile, 2022, 14500, 21, 2950
West, Laptop, 2023, 23000, 17, 4700
West, Mobile, 2023, 16500, 26, 3300
West, Laptop, 2022, 19500, 20, 4000
West, Mobile, 2022, 15500, 24, 3100
North, Tablet, 2023, 12000, 10, 2500
South, Tablet, 2023, 13000, 12, 2700
East, Tablet, 2023, 12500, 11, 2600
West, Tablet, 2023, 13500, 13, 2800
];
結果
データをロードしてシートを開きます。新しいピボット テーブルを作成し、次の項目を行の軸として追加します。
-
Year
-
SalesProduct
-
Region
次のメジャーを作成します:
-
=If(Dimensionality()=1, 'Total', 'Detail')、Total と Detail のどちらの行かを表します。
-
=If(Dimensionality()=3, 'Region-Level', If(Dimensionality()=2, 'Product-Level', 'Summary-Level'))、表示されている軸のレベルを示します。
-
=Sum(SalesValue)、売上の合計を計算します。
Sum(SalesValue) メジャーの [プロパティ] パネルで、 [背景色数式] として次の数式を入力します。
=If(Dimensionality()=1, LightGray())
背景色数式の出力は、軸が 1 の場合に、テーブル セルに薄いグレーのセル背景を適用します。
Year | |||
---|---|---|---|
SalesProduct | |||
Region | |||
If(Dimensionality()=1, 'Total', 'Detail') | If(Dimensionality()=3, 'Region-Level', If(Dimensionality()=2, 'Product-Level', 'Summary-Level')) | Sum(SalesValue) | |
(+) 2022 | 合計 | Summary-Level | 134000 |
(-) 2023 | 合計 | Summary-Level | 200000 |
(-)Laptop | 詳細 | Product-Level | 86000 |
East | 詳細 | Region-Level | 21000 |
North | 詳細 | Region-Level | 20000 |
South | 詳細 | Region-Level | 22000 |
West | 詳細 | Region-Level | 23000 |
(-) Mobile | 詳細 | Product-Level | 63000 |
(-) Tablet | 詳細 | Product-Level | 51000 |
Dimensionality 関数を使用してレポートの詳細を強化し、最上位レベルの行の軸をすべて強調表示する方法を確認できます。