注
このコネクタは OneStream によって所有および提供されます。
概要
| プロパティ | Value |
|---|---|
| コネクタ |
OneStream |
| プロダクツ | Power BI (セマンティック モデル) Power Query Online |
| リリース状況 | 一般公開 |
| Category | Other |
| 認証の種類 | OAuth |
| データソースの種類 | OneStream |
| 関数リファレンス ドキュメント | OneStream.Navigation |
| サポート リンク | サポート |
[前提条件]
OneStream プラットフォーム バージョン 8.2 以降が必要です。 Microsoft Power BI Desktop をインストールする前に確認するシステム要件があります。
サポートされている機能
OneStream コネクタを使用すると、OneStream アプリケーションに安全にアクセスできます。 コネクタを使用すると、次のことができます。
- OneStream アプリケーションからキューブとリレーショナル データに直接アクセスして、Power BIにアクセスします。
- メタデータ メンバーとそのすべての OneStream プロパティにアクセスします。
- Power BIで完全な階層構造を簡単に再作成できます。
- Power BI サービスへのデータ読み込みを自動化します。
Parameters
エントリポイント:OneStream.Navigation
必須パラメーター数: 1
| Parameter | 表示名 | Required | タイプ | Description | サンプルの値 | ヌラブル | その他のメタデータ |
|---|---|---|---|---|---|---|---|
| OneStreamURL | 環境URL。 https:// で始まる必要があります | Yes | SMS 送信 | OneStream 環境のアドレス | 「https://customer.onestreamcloud.com" | false | {"Documentation.Category": "", "Documentation.Examples": [], "Documentation.LongDescription": "テキスト URI を表す型。", "Documentation.Name": "Uri.Type", "Documentation.Description": "テキスト URI を表す型。"} |
Power Query Desktop から接続する
データの取得
Power BIデスクトップを開き、他のソースからデータを取得を選択します。
検索ボックスに 「OneStream 」と入力して、カスタム OneStream コネクタを検索します。
OneStream を選択します。
[接続] を選択します。
コネクタを構成する
OneStream 環境の URL を入力します。 次のスクリーンショットに示すように、環境 URL が先頭 の https:// で入力されていることを確認します。 それ以外の場合、接続の試行が正しく機能しません。
[OK] を選択.
Authenticate
[ サインイン] を選択して認証プロセスを開始します。
この選択により、既定のブラウザーでログイン用の OneStream Identity Server がリダイレクトされ、開きます。
OneStream アカウントにログインします。
ログインに成功したら、[ 接続] を選択します。
OneStream ナビゲーター
ログインに成功すると、OneStream コネクタにはナビゲーターが表示され、次の 4 種類の呼び出しが使用可能になります。
関数の構成に関するヘルプが必要な場合は、 ベスト プラクティス を参照してください。
使用する関数を選択したら、次の手順に従って データを読み込みます。
データの読み込み
要件に基づいて、指定された関数の値を指定します。 パラメーターを必要なものだけに切り替えたり、必要に応じてそのすべてを使用したりできます。 Power BI返されるテーブルのデータのプレビューが表示されます。
パラメーターを指定した後、データを読み込むか変換します。
- Load を選択して、内部Power BIデスクトップ データ モデルにテーブルを読み込みます。
- Transform data を選択してテーブルを変更してから、内部Power BI Desktop データ モデルに読み込みます。 Transform data は、テーブルの代表的なビューを含む新しいウィンドウでPower Query エディターを起動します。
他のテーブルを読み込む必要がある場合は、関数の選択、値の指定、テーブルの読み込みまたは変換の前の手順を繰り返します。
Power BI Desktop データ モデルに読み込んだ後は、テーブル間のリレーションシップを作成し、レポートを作成できます。
Power Query Online から接続する
OneStream データに接続するには:
Power Query データ ソースへの接続 ページから OneStream を選択します。
OneStream ダイアログ で、OneStream インスタンスの 環境 URL を 入力します。
https://プレフィックスを含めます。[ サインイン ] を選択して、組織のアカウントでサインインします。 資格情報を入力するために、OneStream Identity Server にリダイレクトされます。
正常にサインインしたら、[ 次へ] を選択します。
Choose data ページで、実行する関数 (Get Cube、Get Custom Adapter、Get Dimension、Get Member Properties など) を選択し、 Transform data を選択してPower Query エディター内のデータを変換します。
追加情報
ベストプラクティスならびに機能のガイドを提供します
一般的なベスト プラクティス
必要な粒度のデータのみを読み込みます。 つまり、月レベルの集計データのみが必要な場合は、毎日のレベルでデータを読み込むことはありません。 モデルが小さいほど、常にパフォーマンスが高くなります。
作成する変換の数を制限します。 クエリを複雑にするほど、クエリが失敗する可能性が高くなります。
OneStream の財務ロジックとキューブ ビュー/データ アダプターを適用して、Power BIに読み込まれるテーブルを作成します。
例: 統合には、親エンティティが子エンティティのいずれかの値のうち 40% のみを受け取る必要があります。 このロジックが OneStream で実行されていることを確認し、値が既に設定されているPower BIにデータ アダプターを読み込みます。
Power BIでロジックをレプリケートしようとすると非効率的になり、ソース システムでより適切に実行されます。
カスタム M クエリでループを使用して大規模なデータセットを読み込む
行の上限が原因で失敗する可能性のある大量のデータを読み込む場合は、ディメンションをループ処理し、クエリを複数のクエリに分割し、クエリ結果からデータを直接結合するカスタム クエリを Power BI Power BIに直接作成することをお勧めします。
次のクエリ例では、CubeViewMD データ アダプターの取得を複数回実行します。 3 つの主要なコンポーネントは次のとおりです。
GetCubeViewColumns: 読み込もうとしている指定したアダプターのすべての列の一覧を返します。 列は動的に解析する必要がないように手動で設定されます。これはコストがかかります (追加のクエリ実行が 1 つ必要)。
GetEntities: メソッド - メンバーとして構成された DataAdapter を実行し、次の図を参照して、ディメンション(この場合はエンティティ)に必要なすべてのメンバーを取得します。 これを変更して、必要なディメンション/メンバー スクリプトをループすることができます。
GetCubeViewData: CubeViewMD アダプターを実行します。 CubeView には、ループ時に GetEntities の値を渡すために使用される
pbi_param_entityというパラメーターが含まれています。
カスタム クエリでこのコードを使用して、ディメンションの指定されたメンバー スクリプトをループ処理して選択したデータ アダプターを実行できます。
let
GetCubeViewColumns = () as list =>
let
Source = {"Cube","Entity","Parent","Cons","Scenario","Time","StartDate","EndDate","View","Account","Flow","Origin","IC","UD1","UD2","UD3","UD4","UD5","UD6","UD7","UD8","CalcScript","Amount"}
in
Source,
GetEmptyTable = () as table =>
let
Source = #table(
GetCubeViewColumns(),
{
}
)
in
Source,
GetEntities = () as table =>
let
Source = OneStream.Navigation("https://your-environment.onestreamcloud.com"),
YourApp = Source{[Key="YourApp"]}[Data],
YourCube = YourApp{[Key="YourCube"]}[Data],
#"Get Custom Adapter" = YourCube{[Key="Get Custom Adapter"]}[Data],
MemberList = #"Get Custom Adapter"("zzz_PBI_EntityMembers", "Default", null, null),
MemberListNoDuplicates = Table.Distinct(#"Invoked FunctionGet Custom Adapter1", {"MemberId"}),
MemberListNamesOnly = Table.RemoveColumns(MemberListNoDuplicates,{"DimTypeId", "DimId", "MemberId", "Description", "SupportsChildren", "IndentLevel"})
in
MemberListNamesOnly,
GetCubeViewData = (EntityName) as table =>
let
Source = OneStream.Navigation("https://your-environment.onestreamcloud.com"),
YourApp = Source{[Key="YourApp"]}[Data],
YourCube = YourApp{[Key="YourCube"]}[Data],
#"Get Custom Adapter" = YourCube{[Key="Get Custom Adapter"]}[Data],
CubeView = try #"Get Custom Adapter"("zzz_PBI_CubeViewAdapter", "Default", null, "pbi_param_entity="& EntityName),
CubeViewOrDefault = if CubeView[HasError] then GetEmptyTable() else CubeView[Value]
in
CubeViewOrDefault,
List = GetCubeViewColumns(),
Source = GetEntities(),
Data = Table.AddColumn(Source, "LoopCubeViewData", each GetCubeViewData([Name])),
Expand = Table.ExpandTableColumn(Data, "LoopCubeViewData", List),
Rows = Table.SelectRows(Expand, each [Cube] <> null)
in
Rows
キューブを取得する
この関数は、OneStream キューブからデータを取得します。
- すべてのパラメーターは、単一のメンバーを必要とする View と Currency を除き、OneStream メンバー スクリプト (2023.Base for time など) を使用して指定できます。
- 通貨は OneStream の連結ディメンションを参照するため、たとえばローカルまたは集計を使用できます。
カスタム アダプターを取得する
- ワークスペースとアダプター名 (必須パラメーター) を指定します。
- テーブル名とパラメーターは省略可能です。
- 正しい値を挿入していることを確認するには、OneStream 内の構成済みのダッシュボード アダプターを参照してください。
ディメンションの取得とメンバー プロパティの取得
- 取得する OneStream ディメンションの種類を指定します。
- シナリオの種類を指定します。 選択したキューブの既定のディメンションを使用し、既定のプロパティを取得するには、[既定値] または [すべて] を使用します。
- [説明を含める] を True または False に設定できます。
コネクタの詳細
OneStream コネクタは、Representational State Transfer (REST) API を使用して OneStream インスタンスからデータをフェッチします。
OneStream コネクタは、現在ログインしているユーザーのアクセス許可境界の下ですべての API 呼び出しを実行するため、OneStream でユーザーに対して定義されたセキュリティを適用します。
注
コネクタでは、Power BI レポート ユーザーの代わりに READ スコープのみを使用して、すべての操作を実行します。 OneStream コネクタは更新操作を実行できません。
OneStream コネクタには、呼び出しあたり 200 万行という制限があります。 この制限を超えてクエリを実行すると、エラーがトリガーされます。
OneStream