Power BI でデータのない項目を表示する
適用対象: Power BI Desktop
Power BI サービス
Power BI では、さまざまなソースからのデータを視覚化することができます。 ビジュアルを作成するときは、データの提示および表示方法が適切に管理されるように、関連するデータのみが Power BI に表示されます。 Power BI では、ビジュアルの構成と基になるデータ モデルに基づいて、どのデータが適切か判断します。 この記事では、関連データを特定するときに Power BI がどのように動作するかを説明します。 また、決定が行われる方法を示す例も含まれます。
適切なデータを判断する
表示する関連データが Power BI によってどのように決定されるのかを示すため、簡単な例として 1 つのテーブルを考えてみます。 この記事の最後にある「データ モデルの例」セクションで示されているモデルを使用し、次の設定で作成されているテーブルについて考えます。
1. 同じテーブルからのグループ:Product[Color] - Product[Size]
"Product[Color] (製品 [色])" | Product[Size] (製品 [サイズ]) |
---|---|
青 | 大 |
青 | Medium |
青 | 小 |
[赤] | 大 |
この例では、テーブル "[Product] ([製品])" 内に存在する "[Color-Size] ([色 - サイズ])" の組み合わせが Power BI で表示されます。
次は別の組み合わせを見てみましょう。
2. 直接関連付けられている別のテーブルからのグループ (メジャーあり):ProductStyle[Finish] - Product[Color] - Sum(Sales[Quantity])
ProductStyle[Finish] (製品のスタイル [仕上がり]) | "Product[Color] (製品 [色])" | Sum(Sales[Quantity]) |
---|---|---|
光沢 | 青 | 10 |
艶消し | 青 | 15 |
この例では、存在する組み合わせのみが Power BI で表示されます。 モデルに存在しない組み合わせ ("なし" + "青") や ("艶消し" + "赤") などは表示されません。 どの組み合わせが存在しているかを決める条件は、空白でない "Sum(Sales[Quantity]) (Sum(売上 [数量]))" の値です。
別のケースを見てみましょう。
3. 関連付けられている別のテーブルからのグループ (メジャーなし):ProductStyle[Finish] - Product[Color]
ProductStyle[Finish] (製品のスタイル [仕上がり]) | "Product[Color] (製品 [色])" |
---|---|
光沢 | 青 |
光沢 | [赤] |
艶消し | 青 |
明示的なメジャーがなく、2 つのテーブルが直接関連付けられているため、結果の組み合わせを制限するためのメジャーの挿入が Power BI によって試みられます。 この場合は、Power BI によって "CALCULATE(COUNTROWS('Product'))
" メジャーが挿入されます。"Product" が両方のテーブルに共通するものであるため、これが空白になることはありません。
この場合、Product テーブルにエントリが存在している組み合わせが Power BI で表示されます。" ("なし" + "青") " や " ("艶消し" + "赤") " の組み合わせは除外されます。
4. 関連のない別のテーブルからのグループ
サンプル モデルにはこの組み合わせは含まれていませんが、関連付けられていない異なるテーブルからのグループが存在した場合は、Power BI で 2 つの列を関連付けることはできません。 結果は各列のすべての値のクロス結合になります。 そのような状況では、"制限のない結合" という種類のエラーが Power BI で発生し (このようなクロス結合はデータベースでのコンピューティング コストが高いため)、ユーザーに十分な情報は提供されません。
データのない項目の表示
前のセクションでは、表示するべきデータが Power BI で判断されるしくみについて説明しました。 ただし、データのない項目を表示する "必要がある" 場合がある可能性があります。
[データのない項目を表示する] 機能を使用すると、メジャー データが含まれない (空白のメジャー値) データ行と列を含めることができます。
[データのない項目を表示する] 機能を有効にするには、以下の手順を行います。
- ビジュアルを選択します。
- [値] フィールド ウェルでフィールドを右クリックし、次の画像のように、表示されるメニューの [データのない項目を表示する] を選択します。
以下の状況では、 [データのない項目を表示する] 機能には何の効果もありません。
- ビジュアルにメジャーが追加されておらず、グループ化列は同じテーブルのものである。
- グループが関連付けられていない。 関連付けられていないグループが含まれるビジュアルに対するクエリは、Power BI では実行されません。
- メジャーがどのグループとも関連付けられていない。 この場合、メジャーが空白にならないのは、グループの一部の組み合わせについてだけです。
- 空白のメジャーを除外するユーザー定義のメジャー フィルターが存在する。 例: SalesAmount > 0
注意
データのない項目を表示するオプションを有効にすると、パフォーマンスが低下する可能性があり、ビジュアルのレンダリングが遅くなったり、データのエクスポートがタイムアウトしたりする可能性があります。
[データのない項目を表示する] のしくみ
[データのない項目を表示する] の最も興味深い使用は、メジャーが存在している場合です。 グループが同じテーブルのものである場合、またはモデル内のパスを使用してグループを関連付けることができる場合について考えます。 たとえば、ProductStyle は Product に直接関連し、Sales に間接的に関連しています。 ProductStyle と ProductCategory は、Product テーブルを介して関連付けることができます。
いくつかの興味深いケースについて調べ、[データのない項目を表示する] がオフの場合とオンの場合を比べてみましょう。
1. 同じテーブルからの列のグループ化:Product[Color] - Product[Size] - Sum(Sales[Quantity])
表示結果 ([データのない項目を表示する] 機能がオフの場合):
"Product[Color] (製品 [色])" | Product[Size] (製品 [サイズ]) | Sum(Sales[Quantity]) |
---|---|---|
青 | Medium | 15 |
青 | 小 | 10 |
表示結果 ([データのない項目を表示する] 機能がオンの場合):
"Product[Color] (製品 [色])" | Product[Size] (製品 [サイズ]) | Sum(Sales[Quantity]) |
---|---|---|
青 | 大 | |
青 | Medium | 15 |
青 | 小 | 10 |
[赤] | 大 |
機能をオンにした場合、2 つの新しい組み合わせがどのように表示されるかに注目してください。"青 - 大" と "赤 - 大" です。 これらのエントリは両方とも "Sales (売上)" テーブル内に対応する "Quantity (数量)" を持っていません。 しかし、これらは "Product (製品)" テーブルに表示されています。
2. 関連付けられているテーブルからの列のグループ化:ProductStyle[Finish] - Product[Color] - Sum(Sales[Quantity])
表示結果 ([データのない項目を表示する] 機能がオフの場合):
ProductStyle[Finish] (製品のスタイル [仕上がり]) | "Product[Color] (製品 [色])" | Sum(Sales[Quantity]) |
---|---|---|
光沢 | 青 | 10 |
艶消し | 青 | 15 |
表示結果 ([データのない項目を表示する] 機能がオンの場合):
ProductStyle[Finish] (製品のスタイル [仕上がり]) | "Product[Color] (製品 [色])" | Sum(Sales[Quantity]) |
---|---|---|
光沢 | 青 | 10 |
光沢 | [赤] | |
艶消し | 青 | 15 |
なし |
"(光沢 - 艶消し)" と "(なし、空白)" が組み合わせとしてどのように表示されたかに注目してください。 表示された理由は次のとおりです。
- Power BI によって、最初に ProductStyle[Finish] が考慮され、表示するすべての値が選択されました。その結果は、光沢、艶消し、なしになりました。
- これらの各値を使用して、対応するすべての Product[Color] エントリが Power BI によって選択されます。
- "なし" はどの Product[Color] にも対応しないため、その値には空白が表示されます。
列の値を選択するメカニズムは順序に依存していて、テーブル間の "左外部結合" 操作と見なすことができることに注意してください。 列の順序が変更されると、その結果も変更されます。
順序を変更する例と、それが結果に与える影響について見ていきましょう。 この例は、このセクションの 2 番目の項目と同じものですが、順序が変更されています。
Product[Color] - ProductStyle[Finish] - Sum(Sales[Quantity]) (製品 [色] - 製品のスタイル [仕上がり] - Sum(売上 [数量]))
これは表示結果です ([データのない項目を表示する] 機能がオンの場合):
"Product[Color] (製品 [色])" | ProductStyle[Finish] (製品のスタイル [仕上がり]) | Sum(Sales[Quantity]) |
---|---|---|
青 | 光沢 | 10 |
青 | 艶消し | 15 |
[赤] | 光沢 |
ProductStyle[Finish]=None がテーブルに表示されないことに注意してください。 この場合、Product テーブル内のすべての Color の値が、Power BI によって最初に選択されます。 その後、各色に対し、データが含まれていた対応する Finish の値が、Power BI により選択されます。 "なし" は Color のどの組み合わせにも表示されないため、選択されません。
Power BI のビジュアル動作
ビジュアルの 1 つのフィールドで [データのない項目を表示する] が有効な場合、その同じ "ビジュアル バケット" または階層内にある他のすべてのフィールドについてこの機能が自動的に有効になります。 ビジュアル バケットまたは階層には、その [軸] または [凡例] 、または [カテゴリ] 、 [行] 、または [列] を指定できます。
たとえば、[行] バケットに 4 つのフィールドがあるマトリックス ビジュアルでは、1 つのフィールドの [データのない項目を表示する] が有効な場合、マトリックス内のすべての項目で有効になります。 次の図では、[行]バケットの最初のフィールド ("SupplierID" フィールド) で [データのない項目を表示する] が有効です。 [行] バケット内の他のフィールドでも、自動的に有効になります。
これに対して、 [列] バケットに表示される Continent フィールドでは、 [データのない項目を表示する] は自動的に有効になりません。
多くの場合、このビジュアル動作は、マトリックス ビジュアルからテーブル ビジュアルへの変換など、ビジュアルが異なる種類に変換される場合に見られます。 このような変換では、任意のフィールドがバケットに移動され、そのバケット内のフィールドで機能が有効にされている場合、[データのない項目を表示する] が自動的に有効になります。 前の例では、"SupplierID" の [データのない項目を表示する] 機能が有効であり、ビジュアルがテーブルに変換される場合、[列] バケットの "Continent" フィールドは、([行] バケット内のフィールドと共に)、テーブル ビジュアルで使用されている唯一のバケット ([値] バケット) に移行されます。 結果として、[値] バケット内のすべてのフィールドは [データのない項目を表示する] が有効になります。
データのエクスポート
[Export summarized data](集約したデータのエクスポート) 機能を使用する場合、[データのない項目を表示する] 機能の動作は、エクスポートがテーブル ビジュアルに変換される場合と同じです。 そのため、グラフ マトリックス ビジュアルなどのビジュアルをエクスポートすると、エクスポートされたデータが、表示されるビジュアルとは見た目が異なる可能性があります。 動作がこのような結果になるのは、エクスポート処理の一部としてのテーブル ビジュアルへの変換で、エクスポート対象のすべてのフィールドの [データのない項目を表示する] が有効になるためです。
データ モデルの例
このセクションでは、この記事の例で使用されるサンプル データ モデルを示します。
モデル:
データ:
Product[ProductId] (製品 [製品 ID]) | Product[ProductName] (製品 [製品名]) | Product[Color] (製品 [色]) | Product[Size] (製品 [サイズ]) | Product[CategoryId] (製品 [カテゴリ ID]) | Product[StyleId] (製品 [スタイル ID]) |
---|---|---|---|---|---|
1 | 製品 1 | 青 | Small | 1 | 1 |
2 | 製品 2 | 青 | Medium | 2 | 2 |
3 | 製品 3 | [赤] | 大 | 1 | 1 |
4 | 製品 4 | 青 | 大 | 2 | 2 |
ProductCategory[CategoryId] (製品カテゴリ [カテゴリ ID]) | ProductCategory[CategoryName] (製品カテゴリ [カテゴリ名]) |
---|---|
1 | 電話番号 |
2 | カメラ |
3 | TV |
ProductStyle[StyleId] (製品のスタイル [スタイル ID]) | ProductStyle[Finish] (製品のスタイル [仕上がり]) | ProductStyle[Polished] (製品のスタイル [艶出し]) |
---|---|---|
1 | 光沢 | はい |
2 | 艶消し | いいえ |
3 | なし | いいえ |
Sales[SaleId] (売上 [売上 ID]) | Sales[ProductId] (売上 [製品 ID]) | Sales[Date] (売上 [日付]) | Sales[Quantity] (売上 [数量]) |
---|---|---|---|
1 | 1 | 2012 年 1 月 1 日 0:00 | 10 |
2 | 2 | 2013 年 1 月 1 日 0:00 | 15 |
関連するコンテンツ
この記事では、Power BI で [データのない項目を表示する] 機能を有効にする方法について説明しました。 次の記事にも興味をもたれるかもしれません。