Power BIからServiceNowデータへDirectでアクセスをする方法を教えてください。

Kaz_Nakaj_asu
Kilo Contributor

Power BIを使って、ServiceNowのチケットデータを分析したいと考えています。
できればDirectQueryで接続できればベストです。
 いくつかの方法があることはweb上でわかるのですが、
推奨される方法とその特徴(メリット/デメリット)を教えていただけませんか?

4件の返信4

Takuya Kadowak2
ServiceNow Employee
ServiceNow Employee
Kaz_Nakaj_asuさん、
 
DirectQueryでないので申しわけないのですが、下記のスレッドにあるやり方でまずは実施されたい分析業務が回るか確認してみてはいかがでしょうか?

Connecting PowerBi to ServiceNow (No code/Low code)

https://community.servicenow.com/community?id=community_article&sys_id=14f750a4dba22410fb4ae15b8a961...

ここで記載されているのはServiceNowのTable APIに、Power BIからWeb接続する実現方法になっています。

特に追加の仕組みを挟まないという意味ではこれが一番シンプルかと思います。

一方で制約としては、以下が挙げられています。(今回の質問に合わせて一部補足しています)

  1. ServiceNowから大きなデータセットをPower BIに対してエクスポートしない。(このポストの著者は、最大50kレコードでテストしたところ、レコードの取得に約2分かかったと報告しています。)
  2. 大規模なデータセットをエクスポートすることは可能です。エクスポートするには、ServiceNowの "REST Table API request timeout"のトランザクション・クォータ・ルールを増やす必要があります。デフォルトは60秒です。(参考)
  3. すべてのフィールドを取得しようとせず、この設定を最小にする。つまり、今回の質問のケースではPower BIでの分析に使用されるであろうフィールドのみを取得します。
  4. Power BIでは、Webデータソースでインクリメンタルデータの更新を設定することができません。つまり、毎回、すべてのデータを更新することになります。

これらを実現するために、リンク先の記事では過去120日間に更新されたChangeレコードを対象にしています。

この仕組みを使ってPower BI上で時系列データを定点観測的に見る場合は、

ServiceNowのテーブルから5月分のデータだけをTable APIでエクスポート → Power BIに5月のテーブルとして保存
6月分をエクスポート → 6月のテーブルとして保存
7月分をエクスポート → 7月のテーブルとして保存
とやってから、Power BI上で結合したテーブルを作成して結合テーブルを元に分析する、といったやり方が考えられます。

これに加えて、

もっと頻繁にデータをアップデートする必要がある
インクリメンタルアップデートをしたい
フィールドを限定したりせずにもっと大きなデータセットで分析したい(Power BI側か分析用のDB側で全部を持っておきたい)

といったニーズがあるようでしたら、サードパーティーの有償ソリューションも組み合わせて本格的なデータの取り回しを検討する、という順番で進めるのはいかがでしょうか。

Hi @Takuya Kadowak2 - I cannot seem to open the hyperlink anymore.It gives me an access denied error message.Is there a way you could post the contents of the article here?

Kaz_Nakaj_asu
Kilo Contributor

@Takuya Kadowaki ありがとうございます。参考にさせていただきます。上記の方法を検討させていただきます。

 

Hi @Kaz_Nakaj_asu - I cannot seem to open the hyperlink anymore. It gives me an access denied error message. Is there a way you could post the contents of the article here?