Power BI: Custom Connector を作ろうとして困ったことと対処法

# 背景

Custom Connector を初めて作った際の困ったことと、対処法の記録

# 困ったこと

1. [カスタムコネクタの保存先フォルダーを作っても反応しない](https://qiita.com/baku2san/items/5dda4a35138522e66c9c#カスタムコネクタの保存先フォルダーを作っても反応しない)
1. [カスタムコネクタを認識してくれない](https://qiita.com/baku2san/items/5dda4a35138522e66c9c#カスタムコネクタを認識してくれない)

# カスタムコネクタの保存先フォルダーを作っても反応しない

## 2021/12/30 追記
> %userprofile%\ドキュメント\Power BI Desktop\Custom Connectors

多分、上記で一発で取れそうな気がしたので追記しておく。困ったときにはこれで試してみてください。

## 試行したこと

### MS-Documents の記述のままに作成

普通に Documents の通りに作成したが、何故か Power BI では反応しない・・
Debug だから？ エラーが出てるから？ 自分が作ったものだから？と思い確認したが変わらず・・

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120072/ae4fbf31-505f-4ab4-f7d3-cacdb7949021.png)

> 認定されていないカスタム コネクタを使用する場合、コネクタの .pq、.pqx、.m、または .mez ファイルを、[ドキュメント]\Power BI Desktop\Custom Connectors フォルダーに入れます。 フォルダーが存在しない場合は作成します。

https://docs.microsoft.com/ja-jp/power-bi/connect-data/desktop-connector-extensibility

```bat:保存先
%userprofile%\Documents\Power BI Desktop\Custom Connectors
```
環境変数は、ここら辺参考

https://docs.microsoft.com/ja-jp/windows/deployment/usmt/usmt-recognized-environment-variables

### On-Premises Data Gateway の設定で、Default のフォルダを確認

そういえば、Gateway からもコネクタ指定があったはずと思い、Default Path を確認しようと思い開いたところ・・
MS-Documents の指定のままに設定されていた上、Gateway としては認識してる・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120072/ccc6e166-4943-0b50-75d3-f12711fe1905.png)

勿論、この状態では、Power BI では認識しないまま

### OneDrive 同期してる Documents フォルダーで確認

Explorer でフォルダ階層眺めていて、OneDrive 同期フォルダの ドキュメント フォルダが気になって試してみたら・・Bingo!

```bat:保存先
%userprofile%\OneDrive\ドキュメント\Power BI Desktop\Custom Connectors
```
無事 Power BI で読み込めたものの、Gateway のカスタムデータコネクタフォルダの設定を変える必要がありました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120072/ebea8112-93a7-f2ee-0517-1da012cb0b2e.png)

## 補足
解決後に、OneDrive を含めて検索したら以下の Issue が見つかりました。
Custom Connector の保存先については、Documents/OneDrive下のどちらにせよ問題が起きていた人が発生しているようです。
Power BI のフォルダ指定は Registory にも見つからず。

現状としては、

1. なんとかして Power BI が認識するフォルダを探す。といっても、Documents/OneDrive下ぐらい？
1. On-Premises Data Gateway の設定を ↑ のに合わせて変更する。（mes ファイルを二重に置くってことでも）

https://community.powerbi.com/t5/Desktop/Custom-connector-issue/td-p/2170643

# カスタムコネクタを認識してくれない

以下のエラーが出て読み込めないので
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120072/daacd230-a4c1-abec-5b34-97ec2fae1502.png)

以下設定を緩くして再起動。
勿論、上の記述にあるように、認証を受けたものしか使わないのが一番ですが、自作のものの場合は「非推奨」でも、と。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120072/95d64308-3957-132c-fcc1-6aff59e1ce50.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120072/a4bf4199-a42c-97db-abda-f4921f9f47a4.png)

詳細は以下

https://docs.microsoft.com/ja-jp/power-bi/connect-data/desktop-connector-extensibility#data-extension-security

# Excel ではどう使う？

Excel でも使いたいって思ったんですが、どうやら開発はされなさそうで、VSTO 唯一解かな、ってところ。

> So I assume the only realistic option would be to use C# based VSTO add-in for excel.
Anyways thanks for the reply

https://github.com/Microsoft/DataConnectors/issues/82

# 何気に、以下も嵌りポイント
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120072/5b6b8852-f8b3-9541-a6fd-8085bc91d3e9.png)

# keyword

how to fix power bi desktop can not find custom connector file (.mes)