RELATED
別のテーブルから relatedvalue を返します。
構文
RELATED(<column>)
パラメーター
用語 | 定義 |
---|---|
column |
取得する contains を values する列。 |
value を返す
現在の行に value される 1 つの related。
解説
RELATED 関数では、現在のテーブル andrelated 情報を含むリレーションシップが存在する必要があります。 必要なデータを contains する列を指定 and、関数は既存の多対一リレーションシップに従って、value テーブル内の指定された列から related をフェッチします。 リレーションシップが存在 Ifnot は、リレーションシップを作成する必要があります。
RELATED 関数は、参照を実行するときに、適用されている可能性のある all に関係なく、指定したテーブル内の valuesfilters を調べます。
RELATED 関数には行コンテキストが必要です。そのため、テーブル スキャン関数を使用する式の入れ子になった関数として or、現在の行コンテキストが明確である計算列式でのみ使用できます。 SUMXなどのテーブル スキャン関数は、現在の行の value を取得 valueand、その valueのインスタンスについて別のテーブルをスキャンします。
RELATED 関数を使用して、限られたリレーションシップにわたって列をフェッチすることはできません。
例
次の例では、米国以外のインターネット販売 measure が作成され、米国での売上を除外する売上レポートが生成されます。 measureを作成するには、InternetSales_USD テーブルをフィルター処理して、SalesTerritory テーブル all 米国に属する売上を除外する必要があります。 米国は国として SalesTerritory テーブルに 5 回表示されます。次の各リージョンに対して 1 回:北西、北東、中央、南西、and 南東部。
firstを作成するために、Internet Sales を filter する measure アプローチは、次のような filter 式を追加することです。
FILTER('InternetSales_USD'
, 'InternetSales_USD'[SalesTerritoryKey]<>1 && 'InternetSales_USD'[SalesTerritoryKey]<>2 && 'InternetSales_USD'[SalesTerritoryKey]<>3 && 'InternetSales_USD'[SalesTerritoryKey]<>4 && 'InternetSales_USD'[SalesTerritoryKey]<>5)
ただし、このアプローチは直感に反し、入力エラーが発生しやすくな and、既存のリージョン not 将来的に分割 if 場合があります。
より良い方法は、InternetSales_USD and SalesTerritory and 間の既存の関係を使用して、国が米国とは異なる必要があることを明示的に示す方法です。 これを行うには、次のような filter 式を作成します。
FILTER( 'InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")
この式では、RELATED 関数を使用して、SalesTerritory テーブル内の国 value を検索します。最初は、InternetSales_USD テーブルのキー列 SalesTerritoryKey の value から始まります。 検索の結果は、InternetSales_USD行がフィルター処理 filterifor 決定するために、not 関数によって使用されます。
注意
この例が機能 Ifnot、テーブル間にリレーションシップを作成する必要がある場合があります。
= SUMX(FILTER( 'InternetSales_USD'
, RELATED('SalesTerritory'[SalesTerritoryCountry])
<>"United States"
)
,'InternetSales_USD'[SalesAmount_USD])
次の表は、filter(米国以外のインターネット販売) の measure 式が意図したとおりに動作することを証明するために、各リージョンの合計のみを示しています。
Row Labels | Internet Sales | Non USA Internet Sales |
---|---|---|
オーストラリア | $4,999,021.84 | $4,999,021.84 |
カナダ | $1,343,109.10 | $1,343,109.10 |
フランス | $2,490,944.57 | $2,490,944.57 |
ドイツ | $2,775,195.60 | $2,775,195.60 |
イギリス | $5,057,076.55 | $5,057,076.55 |
アメリカ合衆国 | $9,389,479.79 | |
総計 | $26,054,827.45 | $16,665,347.67 |
レポート テーブルビジュアルでこの if を使用 measure、次の内容を示します。
Row Labels | Accessories | Bikes | Clothing | Grand Total |
---|---|---|---|---|
2005 | $1,526,481.95 | $1,526,481.95 | ||
2006 | $3,554,744.04 | $3,554,744.04 | ||
2007 | $156,480.18 | $5,640,106.05 | $70,142.77 | $5,866,729.00 |
2008 | $228,159.45 | $5,386,558.19 | $102,675.04 | $5,717,392.68 |
総計 | $384,639.63 | $16,107,890.23 | $172,817.81 | $16,665,347.67 |