@@ -49,6 +49,7 @@ XData UrlMap
4949 <Route Url =" /MDX2JSONP" Method =" POST" Call =" WriteJSONPfromMDX" />
5050 <Route Url =" /MDXDrillthrough" Method =" POST" Call =" WriteDrillthroughJSON" />
5151 <Route Url =" /MDX2XMLA" Method =" POST" Call =" WriteXMLAfromMDX" />
52+ <Route Url =" /KPI" Method =" POST" Call =" KPIExecute" />
5253
5354 <!-- Get info about availible filters and their values -->
5455 <Route Url =" /Filters" Method =" POST" Call =" WriteFiltersForDataSource" />
@@ -85,7 +86,6 @@ XData UrlMap
8586 <Route Url =" /MDX/:query" Method =" GET" Call =" WriteJSONfromMDXURL" />
8687 <Route Url =" /MDXfilters/:query" Method =" GET" Call =" WriteFiltersForMDX" />
8788
88- <Route Url =" /KPI" Method =" POST" Call =" WriteJSONfromKPI" />
8989
9090 <!-- Test methods -->
9191 <Route Url =" /Test" Method =" GET" Call =" Test" />
@@ -220,6 +220,33 @@ ClassMethod WriteFiltersForDataSource() As %Status
220220 return st
221221}
222222
223+ ///Execute requests from kpi
224+ ClassMethod KPIExecute () As %Status
225+ {
226+ try {
227+ set KPI = $$$R(" KPI" )
228+ set Drillthrough = $$$R(" Drillthrough" )
229+
230+
231+ if (Drillthrough = 1 ){
232+ set SortOrder = $$$R(" SortOrder" )
233+ set Filters = $$$R(" Filters" )
234+ set SortColumn = $$$R(" SortColumn" )
235+ set pSelection = SortColumn _ " ," _ SortOrder
236+
237+ set st = ##class (MDX2JSON.Utils ).WriteDrillthroughJSONKPI (KPI , Filters , pSelection )
238+ }
239+ else {
240+ set st = ##class (%DeepSee.REST.v1.DataServer ).WriteJSONfromKPI (KPI )
241+ }
242+
243+ }catch ex {
244+ set st =ex .AsStatus ()
245+ }
246+
247+ return st
248+ }
249+
223250/// Wrapper for ##class(MDX2JSON.Utils).WriteJSONPfromMDX(pMDX)<br>
224251/// Converts incoming request object and calls abovementioned method.
225252ClassMethod WriteJSONfromMDX () As %Status
0 commit comments