GetObjectDimension - チャート関数
GetObjectDimension() は、軸の名前を返します。Index は、返される軸を示す任意の整数です。
この機能は、以下の場所にあるチャートでは使用できません:タイトル、サブタイトル、フッター、基準線式、最小/最大式。
Object ID を使用して、他のオブジェクトの軸またはメジャーの名前を参照することはできません。
構文:
GetObjectDimension ([index])
戻り値データ型: 文字列
例 | 結果 |
---|---|
GetObjectDimension ()
GetObjectDimension (0) |
チャートの最初の軸の名前を返します。 |
GetObjectDimension (1) | チャートの 2 番目の軸の名前を返します。 |
例 - GetObjectDimension の基本
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。
ロード スクリプトには次が含まれています:
-
「Example」というデータ テーブルにロードされるデータセット。
-
データ テーブル内の次の項目:
-
TransactionDate
-
CustomerID
-
TransactionQuantity
-
ロード スクリプト
Example:
LOAD * INLINE [
TransactionDate, CustomerID, TransactionQuantity
2018/08/30, 049681, 13
2018/08/30, 203521, 6
2018/08/30, 203521, 21
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
-
TransactionDate
-
CustomerID
-
TransactionQuantity
次のメジャーを作成します:
- =GetObjectDimension ()、テーブルの最初の軸を見つけます。
- =GetObjectDimension (0)、テーブルの最初の軸を見つけます。
- =GetObjectDimension (1)、テーブルの 2 番目の軸を見つけます。
TransactionDate | CustomerID | TransactionQuantity | GetObjectDimension () | GetObjectDimension (0) | GetObjectDimension (1) |
---|---|---|---|---|---|
2018/08/30 | 049681 | 13 | TransactionDate | TransactionDate | CustomerID |
2018/08/30 | 203521 | 6 | TransactionDate | TransactionDate | CustomerID |
2018/08/30 | 203521 | 21 | TransactionDate | TransactionDate | CustomerID |
結果を見ると、GetObjectDimension 関数が関数パラメーターで指定された軸の名前を返すことがわかります。
例 - GetObjectDimension の高度なシナリオ
概要
この例では、GetObjectDimension 関数とフィルター選択を組み合わせて使用しています。チャート オブジェクトに表示される軸とメジャーの計算は、選択したフィルターに基づいて変更されます。
データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。
ロード スクリプトには次が含まれています:
-
2 つのインライン データ テーブル (Sales と Filter) にロードされるデータセット。最初のテーブル Sales には、売上データが含まれています。2 番目のテーブル Filter には、軸の切り替えに使用される項目名のリストが含まれています。このトグルによって、チャート内の軸を切り替えたり、選択した軸に応じて表示される計算軸をカスタマイズしたりできます。
-
Sales テーブルの次の項目:
-
Country
-
Salesperson
-
SalesValue
-
-
Filter テーブルの次の項目: FilterField。
ロード スクリプト
Sales:
LOAD * INLINE [
Country, SalesPerson, SalesValue
USA, John, 500
USA, Alice, 700
Canada, Bob, 300
Canada, Carol, 400
Mexico, Dave, 200
];
Filter:
LOAD * INLINE [
FilterField
Country
SalesPerson
];
結果
-
データをロードしてシートを開きます。新しいフィルター パネルを作成し、次の項目を軸として追加します。
-
FilterField
-
-
アセット パネルの [項目] で、 [FilterField] を右クリックし、 [項目の設定] を選択します。[Always one value selected] (常に 1 つの値を選択する) チェック ボックスをオンにして、 [保存] をクリックします。
-
テーブルを作成し、次の数式を入力して軸を追加します。
-
=$(= FilterField)
-
[ラベル] に ='$(= FilterField)' の数式を入力して、軸の列名を定義します。
-
-
次のメジャーを作成します:
-
=If(GetObjectDimension() = 'Country', Sum(SalesValue), Avg(SalesValue))、選択した軸が Country の場合は売上値を合計し、選択した軸が SalesPerson の場合は売上値の平均を返します。
-
Label に =If(GetObjectDimension() = 'Country', 'Sum(SalesValue)', 'Avg(SalesValue)') の数式を入力して、フィルター選択に応じてメジャーの列名を定義します。
-
分析モードでは、FieldFilter フィルターで SalesPerson と Country を切り替えると、テーブルが変更され、選択した軸とその軸に対応するメジャー計算が含まれるようになります。たとえば、フィルターで Country を選択すると、テーブルの最初の列に軸として Country が表示されます。次に、メジャーは GetObjectDimension 関数を使用し、これを Country と等しくして、Sum(SalesValue) を返します。
Country のフィルター パネルとテーブルの結果

次の表は、FilterField フィルターで Country を選択した場合の結果を示しています。
Country | Sum(SalesValue) |
---|---|
Totals | 2100 |
Canada | 700 |
Mexico | 200 |
USA | 1200 |
次の表は、FilterField フィルターで SalesPerson を選択した場合の結果を示しています。
SalesPerson | Avg(SalesValue) |
---|---|
Totals | 420 |
Alice | 700 |
Bob | 300 |
Carol | 400 |
Dave | 200 |
John | 500 |