XMLA エンドポイント接続のトラブルシューティングTroubleshoot XMLA endpoint connectivity

Power BI Premium の XMLA エンドポイントは、ネイティブの Analysis Services 通信プロトコルを使用して、Power BI データセットにアクセスします。XMLA endpoints in Power BI Premium rely on the native Analysis Services communication protocol for access to Power BI datasets. このため、XMLA エンドポイントのトラブルシューティングは、一般的な Analysis Services 接続のトラブルシューティングとほとんど同じです。Because of this, XMLA endpoint troubleshooting is much the same as troubleshooting a typical Analysis Services connection. ただし、Power BI 固有の依存関係に関するいくつかの違いがあります。However, some differences around Power BI-specific dependencies apply.

始める前にBefore you begin

XMLA エンドポイント シナリオのトラブルシューティングを行う前に、「XMLA エンドポイントを使用したデータセット接続」に記載されている基本事項を確認してください。Before troubleshooting an XMLA endpoint scenario, be sure to review the basics covered in Dataset connectivity with the XMLA endpoint. そこでは、最も一般的な XMLA エンドポイントのユースケースについて説明されています。Most common XMLA endpoint use cases are covered there. Power BI のトラブルシューティングのその他のガイド、「ゲートウェイのトラブルシューティング - Power BI」および「"Excel で分析" に関するトラブルシューティング」も役立ちます。Other Power BI troubleshooting guides, such as Troubleshoot gateways - Power BI and Troubleshooting Analyze in Excel, can also be helpful.

XMLA エンドポイントを有効にするEnabling the XMLA endpoint

XMLA エンドポイントは、Power BI Premium と Power BI Embedded どちらの容量でも有効にすることができます。The XMLA endpoint can be enabled on both Power BI Premium and Power BI Embedded capacities. メモリが 2.5 GB のみの A1 容量など、容量が少ない場合には、XMLA エンドポイントを [読み取り/書き込み] に設定しようとして、 [適用] を選択したとき、容量設定でエラーが発生することがあります。On smaller capacities, such as an A1 capacity with only 2.5 GB of memory, you might encounter an error in Capacity settings when trying to set the XMLA Endpoint to Read/Write and then selecting Apply. エラーには、"There was an issue with your workload settings.The error states "There was an issue with your workload settings. Try again in a little while." (ワークロードの設定で問題が発生しました。しばらくしてからもう一度お試しください。) と表示されます。Try again in a little while.".

次の 2 つの方法を試すことができます。Here are a couple things to try:

  • 容量に対する他のサービス (データフローなど) のメモリ消費量を 40% 以下に制限するか、不要なサービスを完全に無効にします。Limit the memory consumption of other services on the capacity, such as Dataflows, to 40% or less, or disable an unnecessary service completely.
  • 大きい容量の SKU にアップグレードします。Upgrade the capacity to a larger SKU. たとえば、容量を A1 から A3 にアップグレードすると、データフローを無効にしなくても、この構成の問題は解決します。For example, upgrading from an A1 to an A3 capacity solves this configuration issue without having to disable Dataflows.

Power BI 管理ポータルでテナントレベルのエクスポート データ設定も有効にする必要があることに注意してください。Keep in-mind, you must also enable the tenant-level Export data setting in the Power BI Admin Portal. この設定は、[Excel で分析] 機能にも必要です。This setting is also required for the Analyze in Excel feature.

クライアント接続を確立するEstablishing a client connection

XMLA エンドポイントを有効にした後は、その容量でワークスペースへの接続をテストすることをお勧めします。After enabling the XMLA endpoint, it's a good idea to test connectivity to a workspace on the capacity. 詳細については、「Premium ワークスペースに接続する」を参照してください。To learn more, see Connecting to a Premium workspace. また、XMLA の接続に関する現在の制約に関する役立つヒントや情報について、「接続の要件」のセクションを確認してください。Also, be sure to read the section Connection requirements for helpful tips and information about current XMLA connectivity limitations.

サービス プリンシパルを使用して接続するConnecting with a service principal

サービス プリンシパルを有効にする」の説明に従い、テナント設定でサービス プリンシパルが Power BI API を使用できるようにした場合、サービス プリンシパルを使用して XMLA エンドポイントに接続できます。If you've enabled tenant settings to allow service principals to use Power BI APIs, as described in Enable service principals, you can connect to an XMLA endpoint by using a service principal. サービス プリンシパルには、ワークスペースまたはデータセット レベルで、通常のユーザーと同じレベルのアクセス許可が必要であることに注意してください。Keep in mind the service principal requires the same level of access permissions at the workspace or dataset level as regular users.

サービス プリンシパルを使用するには、アプリケーション ID 情報を必ず次のように接続文字列に指定します。To use a service principal, be sure to specify the application identity information in the connection string as:

  • User ID=<app:appid@tenantid>
  • Password=<application secret>

例:For example:

Data Source=powerbi://api.powerbi.com/v1.0/myorg/Contoso;Initial Catalog=PowerBI_Dataset;User ID=app:91ab91bb-6b32-4f6d-8bbc-97a0f9f8906b@19373176-316e-4dc7-834c-328902628ad4;Password=6drX...;

次のエラー メッセージが表示される場合:If you receive the following error:

"We cannot connect to the dataset due to incomplete account information."We cannot connect to the dataset due to incomplete account information. For service principals, make sure you specify the tenant ID together with the app ID using the format app:<appId>@<tenantId>, then try again." (アカウント情報が不完全なためデータセットに接続できません。サービス プリンシパルについて、app:<appId>@<tenantId> という形式でテナント ID とアプリ ID を一緒に指定してから、やり直してください。)For service principals, make sure you specify the tenant ID together with the app ID using the format app:<appId>@<tenantId>, then try again."

正しい形式を使用して、アプリ ID と共にテナント ID を指定してください。Make sure you specify the tenant ID together with the app ID using the correct format.

また、テナント ID を指定せずにアプリ ID を指定することもできます。It's also valid to specify the app ID without the tenant ID. ただし、その場合は、データ ソース URL の myorg エイリアスを実際のテナント ID で置き換える必要があります。However, in this case, you must replace the myorg alias in the data source URL with the actual tenant ID. そうすると、Power BI が、正しいテナントでサービス プリンシパルを見つけることができます。Power BI can then locate the service principal in the correct tenant. ただし、ベスト プラクティスとしては、myorg エイリアスを使用し、ユーザー ID パラメーターにアプリ ID と共にテナント ID を指定することをお勧めします。But, as a best practice, use the myorg alias and specify the tenant ID together with the app ID in the User ID parameter.

Azure Active Directory B2B を使用して接続するConnecting with Azure Active Directory B2B

Azure Active Directory (Azure AD) 企業間 (B2B) は Power BI でサポートされており、XMLA エンドポイントを介したデータセットへのアクセスを外部ゲスト ユーザーに提供できます。With support for Azure Active Directory (Azure AD) business-to-business (B2B) in Power BI, you can provide external guest users with access to datasets over the XMLA endpoint. Power BI 管理ポータルで [外部ユーザーとコンテンツを共有する] 設定が有効になっていることを確認します。Make sure the Share content with external users setting is enabled in the Power BI Admin portal. 詳細については、「Azure AD B2B で外部ゲスト ユーザーに Power BI コンテンツを配布する」をご覧ください。To learn more, see Distribute Power BI content to external guest users with Azure AD B2B.

データセットを配置するDeploying a dataset

Visual Studio (SSDT) での表形式モデル プロジェクトの Power BI Premium ワークスペースへの配置は、Azure Analysis Services への配置とほとんど同じです。You can deploy a tabular model project in Visual Studio (SSDT) to a Power BI Premium workspace much the same as to Azure Analysis Services. ただし、Power BI Premium ワークスペースに配置する際には、追加の考慮事項がいくつかあります。However, when deploying to a Power BI Premium workspace, there are some additional considerations. 「XMLA エンドポイントを使用したデータセット接続」の記事で「Visual Studio からモデル プロジェクトを配置する (SSDT)」のセクションを確認してください。Be sure to review the section Deploy model projects from Visual Studio (SSDT) in the Dataset connectivity with the XMLA endpoint article.

新しいモデルを配置するDeploying a new model

既定の構成では、Visual Studio は配置操作の中でモデルの処理を試行し、データ ソースからデータセットにデータを読み込みます。In the default configuration, Visual Studio attempts to process the model as part of the deployment operation to load data into the dataset from the data sources. Visual Studio からモデル プロジェクトを配置する (SSDT)」で説明しているように、データ ソースの資格情報を配置操作の中で指定できないために、この操作が失敗する可能性があります。As described in Deploy model projects from Visual Studio (SSDT), this operation can fail because data source credentials cannot be specified as part of the deployment operation. その代わり、データ ソースの資格情報が既存のデータセットのいずれについても定義されていない場合は、データ ソースの資格情報を Power BI ユーザー インターフェイスを使用してデータセット設定に指定する必要があります ( [データセット] > [設定] > [データ ソースの資格情報] > [資格情報の編集] )。Instead, if credentials for your data source aren't already defined for any of your existing datasets, you must specify the data source credentials in the dataset settings using the Power BI user interface (Datasets > Settings > Data source credentials > Edit credentials). データ ソースの資格情報を定義したら、メタデータ配置が成功してデータセットが作成された後で、新しいすべてのデータセットについて、Power BI がこのデータ ソースに資格情報を自動的に適用できます。Having defined the data source credentials, Power BI can then apply the credentials to this data source automatically for any new dataset, after metadata deployment has succeeded and the dataset has been created.

Power BI が新しいデータセットをデータ ソースの資格情報にバインドできない場合は、エラー "データベースを処理できません。If Power BI cannot bind your new dataset to data source credentials, you will receive an error stating "Cannot process database. 理由:サーバーに対する変更の保存に失敗しました。" が表示されます。Reason: Failed to save modifications to the server." エラー コードは "DMTS_DatasourceHasNoCredentialError" です。以下をご覧ください。with the error code "DMTS_DatasourceHasNoCredentialError", as shown below:

モデル配置エラー

処理のエラーを回避するには、次の図のように、 [配置オプション] > [処理オプション][処理しない] に設定します。To avoid the processing failure, set the Deployment Options > Processing Options to Do not Process, as shown in the following image. そうすると、Visual Studio はメタデータのみを配置します。Visual Studio then deploys only metadata. 次に、データ ソースの資格情報を構成し、Power BI ユーザー インターフェイスでデータセットについて [今すぐ更新] をクリックします。You can then configure the data source credentials, and click on Refresh now for the dataset in the Power BI user interface. 処理の問題のトラブルシューティングの詳細については、この記事の後半の「データセットを更新する」のセクションを参照してください。For information about troubleshooting processing issues, see the section Refreshing a dataset later in this article.

モデル配置エラー

既存のデータセットから新しいプロジェクトNew project from an existing dataset

Power BI Premium ワークスペースの既存のデータセットからメタデータをインポートして、Visual Studio の新しい表形式プロジェクトを作成することは、サポートされていません。Creating a new tabular project in Visual Studio by importing the metadata from an existing dataset on a Power BI Premium workspace is not supported. ただし、SQL Server Management Studio を使用してデータセットに接続し、メタデータをスクリプト化し、他の表形式プロジェクトで再利用することはできます。However, you can connect to the dataset by using SQL Server Management Studio, script out the metadata, and reuse it in other tabular projects.

データセットを Power BI に移行するMigrating a dataset to Power BI

表形式モデルには 1500 (以上) の互換性レベルを指定することをお勧めします。It's recommended you specify the 1500 (or higher) compatibility level for tabular models. この互換性レベルでは、ほとんどの機能とデータ ソースの種類がサポートされます。This compatibility level supports the most capabilities and data source types. 新しい互換性レベルには、以前のレベルとの下位互換性があります。Later compatibility levels are backwards compatible with earlier levels.

サポートされているデータ プロバイダーSupported data providers

1500 互換性レベルで、Power BI は次の種類のデータ ソースをサポートします。At the 1500 compatibility level, Power BI supports the following data source types:

  • プロバイダー データ ソース (モデル メタデータ内の接続文字列を使用するレガシ)。Provider data sources (legacy with a connection string in the model metadata).
  • 構造化されたデータ ソース (1400 互換性レベルで導入)。Structured data sources (introduced with the 1400 compatibility level).
  • データ ソースのインライン M 宣言 (Power BI Desktop によって宣言)。Inline M declarations of data sources (as Power BI Desktop declares them).

構造化されたデータ ソースを使用することをお勧めします。これは、インポート データ フローを実行するときに Visual Studio によって既定で作成されます。It's recommended you use structured data sources, which Visual Studio creates by default when going through the Import data flow. ただし、プロバイダーのデータ ソースを使用する Power BI に既存のモデルを移行する場合は、プロバイダーのデータ ソースが、サポート対象のデータ プロバイダーを使用することを確認してください。However, if you are planning to migrate an existing model to Power BI that uses a provider data source, make sure the provider data source relies on a supported data provider. 具体的には、Microsoft OLE DB Driver for SQL Server およびサードパーティの ODBC ドライバーです。Specifically, the Microsoft OLE DB Driver for SQL Server and any third-party ODBC drivers. OLE DB Driver for SQL Server の場合は、データ ソース定義を .NET Framework Data Provider for SQL Server に切り替える必要があります。For OLE DB Driver for SQL Server, you must switch the data source definition to the .NET Framework Data Provider for SQL Server. Power BI サービスで使用できない可能性があるサードパーティ ODBC ドライバーの場合は、代わりに、構造化データ ソースの定義に切り替える必要があります。For third-party ODBC drivers that might be unavailable in the Power BI service, you must switch to a structured data source definition instead.

また、SQL Server データ ソース定義内の古い Microsoft OLE DB Driver for SQL Server (SQLNCLI11) も .NET Framework Data Provider for SQL Server で置き換えることをお勧めします。It's also recommended you replace the outdated Microsoft OLE DB Driver for SQL Server (SQLNCLI11) in your SQL Server data source definitions with the .NET Framework Data Provider for SQL Server.

次の表に示すのは、対応する OLE DB Driver for SQL Server の接続文字列を置き換える、.NET Framework Data Provider for SQL Server 接続文字列の例です。The following table provides an example of a .NET Framework Data Provider for SQL Server connection string replacing a corresponding connection string for the OLE DB Driver for SQL Server.

OLE DB Driver for SQL ServerOLE DB Driver for SQL Server SQL Server 用の .NET Framework データ プロバイダー.NET Framework Data Provider for SQL Server
Provider=SQLNCLI11;Data Source=sqldb.database.windows.net;Initial Catalog=AdventureWorksDW;Trusted_Connection=yes; Data Source=sqldb.database.windows.net;Initial Catalog=AdventureWorksDW2016;Integrated Security=SSPI;Encrypt=true;TrustServerCertificate=false

パーティション ソースを相互参照するCross-referencing partition sources

複数の種類のデータ ソースがあるようにパーティション ソースにも複数の種類があり、表形式モデルに組み込んでデータをテーブルにインポートできます。Just as there are multiple data source types, there are also multiple partition source types a tabular model can include to import data into a table. 具体的には、パーティションは、クエリ パーティション ソースまたは M パーティション ソースを使用できます。Specifically, a partition can use a query partition source or an M partition source. これらのパーティション ソースの種類は、プロバイダーのデータ ソースまたは構造化されたデータ ソースを参照できます。These partition source types, in turn, can reference provider data sources or structured data sources. Azure Analysis Services の表形式モデルでは、これらのさまざまなデータ ソースとパーティションの種類の相互参照がサポートされていますが、Power BI ではより厳密なリレーションシップが適用されます。While tabular models in Azure Analysis Services support cross-referencing these various data source and partition types, Power BI enforces a more strict relationship. クエリ パーティション ソースはプロバイダー データ ソースを参照し、M パーティション ソースは構造化データ ソースを参照する必要があります。Query partition sources must reference provider data sources, and M partition sources must reference structured data sources. その他の組み合わせは Power BI ではサポートされません。Other combinations are not supported in Power BI. 相互参照データセットを移行する場合にサポートされている構成を次の表で説明します。If you want to migrate a cross-referencing dataset, the following table describes supported configurations:

データ ソースのData source パーティション ソースPartition source コメントComments XMLA エンドポイントを使用する Power BI Premium でのサポートSupported in Power BI Premium with XMLA endpoint
プロバイダー データ ソースProvider data source クエリ パーティション ソースQuery partition source AS エンジンは、カートリッジベースの接続スタックを使用してデータ ソースにアクセスします。The AS engine uses the cartridge-based connectivity stack to access the data source. はいYes
プロバイダー データ ソースProvider data source M パーティション ソースM partition source AS エンジンは、プロバイダー データ ソースを一般的な構造化データ ソースに変換し、マッシュアップ エンジンを使用してデータをインポートします。The AS engine translates the provider data source into a generic structured data source and then uses the Mashup engine to import the data. いいえNo
構造化データ ソースStructured data source クエリ パーティション ソースQuery partition source AS エンジンは、パーティション ソースに対するネイティブのクエリを M 式にラップしてから、マッシュアップ エンジンを使用してデータをインポートします。The AS engine wraps the native query on the partition source into an M expression and then uses the Mashup engine to import the data. いいえNo
構造化データ ソースStructured data source M パーティション ソースM partition source AS エンジンは、マッシュアップ エンジンを使用してデータをインポートします。The AS engine uses the Mashup engine to import the data. はいYes

データセットを更新するRefreshing a dataset

XMLA エンドポイントを使用すると、表形式モデルおよび Power BI Desktop で作成されたデータセットに対して更新操作を実行できます。XMLA endpoints enable you to perform refresh operations against tabular models as well as datasets created in Power BI Desktop. 後者をサポートするには、[Enhanced storage format](拡張ストレージ形式)設定を必ず指定してください。To support the latter, make sure you specify the Enhanced storage format setting. この設定は、XMLA エンドポイントを使用して、処理またはその他の読み取り/書き込み操作を実行する場合に必要です。This setting is required if you want to perform processing or other read/write operations by using the XMLA endpoint. この設定は、Power BI Desktop のプレビュー機能の中にあります。You can find the setting in Power BI Desktop under Preview features. 設定が完了したら、Power BI Premium ワークスペースに PBIX ソリューションを発行します。After setting, publish your PBIX solution again to your Power BI Premium workspace.

拡張メタデータを含まないモデルに対して XMLA エンドポイントを使用して更新を実行すると、Power BI によって次のエラーが返されます。"この操作は、Power BI Premium でプロパティ 'DefaultPowerBIDataSourceVersion' が 'PowerBI_V3' に設定されているモデルでのみサポートされています。"Power BI returns the following error if you perform a refresh via the XMLA endpoint against a model without enhanced metadata: "The operation is only supported on model with property 'DefaultPowerBIDataSourceVersion' set to 'PowerBI_V3' in Power BI Premium."

データ ソースと権限の借用Data sources and impersonation

プロバイダーのデータ ソースに対して定義できる権限の借用の設定は、Power BI には関係ありません。Impersonation settings you can define for provider data sources are not relevant for Power BI. Power BI は、データセットの設定に基づく別のメカニズムを使用して、データ ソースの資格情報を管理します。Power BI uses a different mechanism based on dataset settings to manage data source credentials. このため、プロバイダー データ ソースを作成する場合は、 [サービス アカウント] を必ず選択してください。For this reason, make sure you select Service Account if you are creating a Provider Data Source.

モデル配置エラー

きめ細かい処理Fine-grained processing

Power BI で、スケジュールされた更新またはオンデマンドの更新をトリガーするとき、通常、Power BI はデータセット全体を更新します。When triggering a scheduled refresh or on-demand refresh in Power BI, Power BI typically refreshes the entire dataset. 多くの場合、選択して更新を実行する方が効率的です。In many cases, it's more efficient to perform refreshes more selectively. 次のように SQL Server Management Studio (SSMS) で、またはサードパーティのツールまたはスクリプトを使用して、きめ細かい処理を実行できます。You can perform fine-grained processing tasks in SQL Server Management Studio (SSMS) as shown below, or by using third-party tools or scripts.

モデル配置エラー

Refresh TMSL コマンドでのオーバーライドOverrides in Refresh TMSL command

Refresh コマンド (TMSL) でのオーバーライドを使用すると、ユーザーは更新操作のために別のパーティション クエリ定義またはデータ ソース定義を選択できます。Overrides in Refresh command (TMSL) allow users choosing a different partition query definition or data source definition for the refresh operation. 現時点では、Power BI Premium ではオーバーライドはサポートされていませんCurrently, overrides are not supported in Power BI Premium. エラー "Out-of-line binding is not allowed in Power BI Premium.An error, "Out-of-line binding is not allowed in Power BI Premium. For additional information, see 'XMLA read/write support' in the product documentation." (不一致バインドは Power BI Premium では許可されていません。詳細については、製品ドキュメントの「XMLA の読み取りおよび書き込みのサポート」を参照してください。) がFor additional information, see 'XMLA read/write support' in the product documentation." 返されます。is returned.

関連項目See also

XMLA エンドポイントを使用したデータセット接続 Dataset connectivity with the XMLA endpoint
サービス プリンシパルを使用して Premium ワークスペースとデータセットのタスクを自動化する Automate Premium workspace and dataset tasks with service principals
"Excel で分析" に関するトラブルシューティング Troubleshooting Analyze in Excel
表形式モデル ソリューションのデプロイTabular model solution deployment