Microsoft Power BI との連携

[まとめページに戻る](https://qiita.com/Keiji_otsubo/items/60afc2a8d211b6f7d89f)
[まとめA～M](https://qiita.com/Keiji_otsubo/items/f3ddedee6793bf1576f8)

+ [PowerQueryとSalesforce](https://qiita.com/Keiji_otsubo/items/0927c2419bd1c52190c8)
+ [Data Cloud to Power BI](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007eqhqm)

# 統合

+ [SF integration with PowerBI](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YveC4)

# エラー

+ [How to work arround: DataSource.Error : exceeded 100000 distinct ids in power BI](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007OtimG)
+ [【未解決】MS PowerQueryでSalesfroceとの接続で一定時間が経過すると、資格情報が機能しなくなったというエラー メッセージが表示される](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000PWPRh)

# 2000件の壁

+ [Salesforce Connector](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007F31EM)

Salesforce Connector を使用して Salesforceで作成した活動レポートを
Googleスプレッドシートにインポート（貼り付け）しようとした所、
①Aレポートは2,000件以上でもインポート可能
②Bレポートは2,000件以上の場合インポートができず、ヘッダだけ出力された状態
③Bレポートは検索条件を絞り、1,000件程度であればインポート可能
となり、②の場合にインポートできない原因がわからないでおります。
※Lengthの長いテキストは出力対象にしていません。

:::note
以下の投稿によれば、この2000件という制限はSalesforce Report API の制限みたいです。

以下が回避策として述べられています。

As a workaround for the above issue, you can use Salesforce Object connector in Power BI Desktop to pull all the rows from individual tables and recreate reports you’d like. The Object connector doesn’t have the 2000 row limit.

https://community.fabric.microsoft.com/t5/Power-Query/salesforce-connectivity-2000-lines-restriction/td-p/205963


コネクターが２種類あるうようなことが回答されていますね。
From Salesforce Reportだと2000件の制限があると...

Using the "From Salesforce Object" connector to pull individual tables will let you pull more than 2000 rows. Then you can join (merge in Power Query terms) multiple tables to recreate the structure of the report. It works but isn't convenient or easy.

That being said, the 2000 row limit makes the "From Salesforce Report" connector completely useless, so I still think you should work on this request even though there's a somewhat reasonable workaround.

https://ideas.fabric.microsoft.com/ideas/idea/?ideaid=5d5c21de-52d7-404b-9b6d-b0ed0acb0a19&%3Bpage=2&page=3
:::

# Failed to execute 'postMessage' on 'Window' : #<Object> could not be cloned.

+ [【未解決】Error 'Sorry to interrupt error ID 1131420506](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000BtXpG)
+ [【未解決】Getting error in lightning and lwc component 'This page has an error. You might just need to refresh it. [Failed to execute 'postMessage' on 'Window': #<Object> could not be cloned.]'](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000DxW0uSAF)
+ 

# INVALID_QUERY_LOCATOR ' Error

[INVALID_QUERY_LOCATOR ' Error](https://trailhead.salesforce.com/en/trailblazer-community/feed/0D54S00000Je13a)

このエラーはクエリーで返ってくるレコードが多いから起きていると思われる。

[SFのヘルプ : 「INVALID_QUERY_LOCATOR」エラー](https://help.salesforce.com/s/articleView?id=000323582&type=1)
INVALID_QUERY_LOCATOR エラーおよび関連する拡張エラー コードは、追加のクエリ結果の呼び出しに含まれるクエリ ロケーターが無効であるか存在しないことを示します。 


[MSのヘルプ:Salesforce レポート](https://learn.microsoft.com/ja-jp/power-query/connectors/salesforcereports)
[MSのヘルプ:英語版](https://learn.microsoft.com/en-us/power-query/connectors/salesforcereports)

Salesforce レポートでアクセスできる行の数は、Salesforce によって 2,000 行に制限されています。 この問題の回避策として、Power BI Desktop の Salesforce オブジェクト コネクタを使用して、個々のテーブルからすべての行を取得し、必要なレポートを再作成できます。 オブジェクト コネクタには、2000 行の制限はありません。

さらに調べると
[DataSource.Error: invalid query locator when expanding a column](https://community.powerbi.com/t5/Desktop/DataSource-Error-invalid-query-locator-when-expanding-a-column/m-p/187656/highlight/true)

各 Salesforce ユーザーは、一度に最大 10 個のクエリ カーソルを開くことができます。これはハード コードされた制限であり、増やすことはできません。クライアント アプリケーションが新しいクエリ ロケータ カーソルを開こうとしたときに 10 個のクエリ ロケータ カーソルが開かれると、最も古いカーソルが解放されます。期限切れまたは解放されたカーソルを呼び出そうとすると、salesforce.com は INVALID_QUERY_LOCATOR エラーを返します。このエラーを回避するには、クライアント コードが 10 を超えるクエリ ロケーター カーソルを開いたままにしないようにします。複数のプロセスが同じ salesforce.com ユーザーを使用して実行されている場合は、結合されたクエリ ロケーター カーソル数が 10 以下のままであることを確認してください。

これは本当に良い情報であり、単純な「もう一度リフレッシュしたら消えてしまった」など、何人かの人々が無関係に見える解決策を報告している理由をおそらく説明しています。これらの「解決策」のそれぞれが、何らかの方法でクエリ ロケーターのカーソル カウントを 10 未満に減らしたに違いありません。

このスレッドが続いている限り、私は断続的にこれに悩まされてきました。これは素晴らしいアドバイスです。
    「このエラーを回避するには、クライアント コードが 10 個を超えるクエリ ロケーター カーソルを保持していないことを確認してください。」 
しかし、どうすればそれを行うことができますか? わかりませんが、わかり次第追記します！

 

更新: これを解決する最も簡単な方法は、各クエリをステップ実行し、クエリの [プレビューを更新] を 1 つずつ実行することです ([すべて更新] ではありません)。

# Teams連携

+ [Salesforceからの通知をTeamsへ連携する方法](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000QLf5ASAT)
+ [Outlook/Teams/Gmail](https://qiita.com/Keiji_otsubo/items/ecd6a7d72761e924070d)
+ [私たちが探しているのは、Salesforce UI からライブ電話を受ける方法です。Salesforce 内で CCaaS (Genesys) を有効にする方法は見たことがありますが、SF UI 内で UCaaS (MS Teams) を統合するための記事を見つけるのに苦労しています。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ifixa)




# Salesforce と Excel コネクタ

+ [Salesforce and Excel Connector](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007KFnkP)

:::note
I don't think it will be supported again.
However, there seem to be third-party products available.

Excel Add-In from Connect for Office End of Support
https://help.salesforce.com/s/articleView?id=000381942&type=1
:::

+ [MSアクセスxSalesforce接続突然切れて、再接続できない](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007eqGV2)

#  SharePoint

+ [ファイルが SharePoint の特定のフォルダにアップロードされると、そのファイルは Salesforce Quote オブジェクトに自動的に移動されます。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007T2oT9)

:::note
解決策- Power Automate フローを作成する - SharePoint でファイルが作成または変更されるときに、Excel シートから行のリストを取得し、レコードの取得関数とレコードの更新関数を使用します (接続Power Automate の Salesforce Premium) に移動して、見積番号をアップロードします。

これは自動化されたクラウド フローであるため、いくつかの Power Automate 式を作成する必要があります。
:::

+ [Trying to add a connection to a SharePoint Page from the Launchpad.  We get an error message that the login.microsoftonline.com refused to connect.  Is there a way around this so that the page will open?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YwF6U)

:::note
Please check this article.

https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007T5hl3SAB
:::

+ [リストから SharePoint を選択した後に必要な API 権限は何ですか? (スクリーンショットを参照してください)](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ahVuq)

:::note
Azure でセットアップ手順を完了し、リストから SharePoint を選択すると、SharePoint Salesforce 統合に必要な API アクセス許可は、SharePoint 内でアプリに必要なアクセス レベルによって異なります。通常、サイト コレクションへの読み取り専用アクセスの場合はSites.Read.Allから始め、フル アクセスが必要な場合はSites.FullControl.Allから始めます。ファイル固有のアクセスの場合は、SharePoint 統合の一般的なアクセス許可である Files.Read.AllまたはFiles.ReadWrite.Allを検討してください。
:::




# 制限なしにリアルタイムに接続する方法

+ [SF integration with PowerBI](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YveC4)

Heroku ConnectのPostgresSQLを介してくらいしか思いつかん

:::note
Heroku Connect allows you to synchronize with PostgresSQL in real time.

I also think that if you can connect Power BI to Heroku PostgresSQL, you can process it in real time.

[Heroku Connect](Heroku Connect)

[How to Connect Power BI to Heroku PostgresSQL?](https://community.fabric.microsoft.com/t5/Desktop/How-to-Connect-Power-BI-to-Heroku-PostgresSQL/td-p/1811551)
:::

# Azure Blob storage

+ [Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ZBT7z)