Published on InterSystems Developer Community (https://community.intersystems.com)

ホーム > Excel から InterSystems 製品にアクセスする方法

記事
Mihoko Iijima · 2021年9月21日 3m read

Excel から InterSystems 製品にアクセスする方法

これは InterSystems FAQ サイトの記事です。

Excelのマクロ機能を使ってVBAからREST/JSON経由でアクセスすることが可能です。

REST/JSONを使用したInterSystems製品との連携の簡単なサンプルを以下のGitHubサイトから入手できます。

VBAマクロサンプル

マクロサンプルは Solution/activityreport.xlsm をご覧ください。

サンプルは、コンテナを利用しています。READMEに記載の方法でコンテナを開始し、Solution/activityreport.xlsm の「データ取得」ボタンをクリックすると以下の結果が得られます。

 

マクロの中では、以下のGET要求を実行しています。

以下の図例は、RESTクライアントでGET要求を行った結果です(​​​ Basic 認証でアクセスしています)。


​​​上記GET要求により、ベースURL(/pm)の指定で、RESTディスパッチクラス(PM.Broker)が起動し、要求されたパス(例では /getactivities)から、PM.REST クラスの GetActivities() メソッドを実行しています。

Class PM.Broker Extends %CSP.REST
{

Parameter CONVERTINPUTSTREAM = 1;

XData UrlMap
{
<Routes>
  <Route Url="/getactivities" Method="GET" Call="PM.REST:GetActivities"/>
  <Route Url="/getuserandtotal" Method="GET" Call="PM.REST:GetNameAndTotal"/>
  <Route Url="/member/:id" Method="GET" Call="PM.REST:GetMember"/>
  <Route Url="/getprojects" Method="GET" Call="PM.REST:GetProjects"/>
  <Route Url="/getphases" Method="GET" Call="PM.REST:GetPhases"/>
  <Route Url="/getyearweeks/:weeks" Method="GET" Call="PM.REST:GetYearWeeks"/>
  <Route Url="/createactivityrecord" Method="POST" Call="PM.REST:CreateActivityRecord"/>
</Routes>
}
}

ベースURL(/pm)の設定は、管理ポータル > システム管理 > セキュリティ > アプリケーション > ウェブ・アプリケーション > /pm の定義をご参照ください。


​​​GetActivities() メソッドでは、

SELECT MEMBER->NAME AS NAME,SUM(HOURS) AS TOTALHOURS FROM PM.ACTIVITY WHERE MEMBER->USERNAME = '_system' GROUP BY MEMBER->NAME

と

SELECT YEAR,WEEK,MEMBER->NAME AS NAME,PROJECT->NAME AS PROJECTNAME, PHASE->NAME AS PHASENAME,HOURS FROM PM.ACTIVITY WHERE MEMBER->USERNAME = '_system' order by year,week

を実行し、JSONにまとめて返送しています。

 

メモ:RESTの他に、ODBC経由でアクセスすることもできます。

 

ご参考:

  • 【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:IRIS で作成する REST サーバの仕組み
  • 【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:(REST)手動で作成するディスパッチクラス
  • 【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:(REST)APIファーストで作成するRESTディスパッチクラス
  • 【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:IRIS での JSON の操作
#JSON #REST API #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health

ソースURL:https://jp.community.intersystems.com/post/excel-%E3%81%8B%E3%82%89-intersystems-%E8%A3%BD%E5%93%81%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95