SPOドキュメントライブラリをデータソースへにしたとき、ライブラリ内の画像にアクセスできない

ホーム フォーラム Power BI Power BI Reports SPOドキュメントライブラリをデータソースへにしたとき、ライブラリ内の画像にアクセスできない

  • このトピックには3件の返信、2人の参加者があり、最後に匿名により4年、 8ヶ月前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #4559
    匿名
    無効
    Up
    0
    Down
    ::

    コミュニティの皆様、お世話になります。

    質問です。

    SPOのドキュメントライブラリをデータソースにし、ライブラリに格納されている写真(jpg/png)をPower BIで一覧表示したいと考えています。
    ライブラリにはプロパティフィールドとして、写真の緯度、経度、画像のURL(ぞれぞれ一行テキスト)という列を追加しています。

    このライブラリに対してPower BIの「SharePoint Online リスト」コネクタ(?)にて接続し、ファイル名や緯度経度、画像のURLなどテキスト情報は問題なく取得することができました。

    しかし、ライブラリに格納されている画像を一覧表示するため、以下の2パターンを試したましたが表示することができていません。

    パターン1
    「画像のURL」列に格納されているテキストデータのデータカテゴリを「イメージのURL」に指定する。
    既にURLテキストが列に格納されているので、上記を試してみましたが、画像が割れたような?アイコンとなり、上手く表示されません。
    ※ブラウザで直接アクセスすると、認証後、画像が表示されるので、取得されているURL自体には問題ないと考えています。

    パターン2
    「画像のURL」列のURLテキストをもとに、カスタム列を作成して、バイナリデータの列を作る。
    カスタム列を作成し、中身を「Web.Contens([画像URLの列名])」とすることで、バイナリデータの列を作成しました。

    しかし、クエリの編集画面で中身を確認しようとすると、「Expression.Error: リソースへのアクセスが禁止されています」と表示され、
    クエリを適用して保存しようとすると、クエリ変更の適用時に以下のエラーとなってしまいます。

    OLE DB または ODBC エラー: 種類 'Microsoft.Mashup.Engine.Interface.ResourceAccessForbiddenException' の例外がスローされました。

    ※これらはSPOカスタムリストで画像を添付ファイルとして格納した場合でも同様でした。

    また、今回はSharePoint上に格納された画像ファイルを表示したいため、画像だけデータソースを分けることは考えていません。
    (画像だけAzure Blobにぶち込んでURLをリストに格納する、など)

    Power BI初心者なので、様々なサイトを参考に模索しながらやっています。
    SPO側で何か設定を見逃しているのか、Power BI側で足りない操作があるのか、また上記以外の方法があればご教示お願いします。


    参考にさせていただいたサイト
    ・Power BIでSharePointのデータを利用する – Qiita
    https://qiita.com/Yellow11/items/39336e331c397bd94d2a

    ・Office 365 : Microsoft Flow + SharePoint + Power BI で作る「外食記録」システム Ver.1.0 | Art-Break : Tech ;
    (完成イメージはこちらに近いです)

    Office 365 : Microsoft Flow + SharePoint + Power BI で作る「外食記録」システム Ver.1.0

    #4571
    Takeshi Kagata
    メンバー
    Up
    0
    Down
    ::

    パターン1
    認証に起因しているのではないでしょうか。
    Power BI Desktop ではリンク切れアイコンになってしまうけれども、Power BI Service では表示できるということはあるはずです。

    パターン2
    画像をデータモデルにデータとして読み込むことは可能。ただし、容量は無限ではないのでおススメしないです。SVGとかならいい感じに使えますけどね。
    Web.Contents 関数で取得した binary は Binary.ToText で text に変換し、表示については、Data URI をつける感じです。

    #4583
    匿名
    無効
    Up
    0
    Down
    ::

    Kagataさん、ご回答ありがとうございます。

    いただいた内容を参考に試してみました。

    パターン1は、現状のリンク切れアイコンのものをそのまま発行し、Power BI Service上で確認してみましたが、やはり同じ表示のままでした。

    パターン2に関してましては、カスタム列の追加の内容を、
    Binary.ToText(Web.Contents([画像URLの列]))
    としてみましたが、追加後「Expression.Error: リソースへのアクセスが禁止されています。」となってしまいました。

    おっしゃっている通り、認証やアクセス権が何か関係してそうですが、画像のバイナリ以外(ファイル名や緯度経度)は取得できており、混乱しております。
    SPOに関しても深い知識があるわけではないので何か設定ミスがあるかもしれませんが、Power BI側としては何か思い当たるところなどありますでしょうか?

    #4593
    匿名
    無効
    Up
    0
    Down
    ::

    連投になってしまいましたが、

    先ほどPower BI Service上のレポートを確認したところ、パターン1(URLのテキストデータをイメージのURLとして表示)の方は正常に画像が表示されていました。
    BI Desktop側では依然リンク切れアイコンのままですが。

    BI Desktop と BI Service で表示できるものに差があるとは、大変勉強Jになりました。
    ありがとうございました。

4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。
ツールバーへスキップ