| Requires any of the roles: | Agent, Administrator |
| POST,OPTIONS | /v1/report/run |
|---|
"use strict";
export class ReportMeasure {
/** @param {{FieldCode?:string,Agg?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
FieldCode;
/** @type {string} */
Agg;
}
export class ReportSort {
/** @param {{FieldCode?:string,Dir?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
FieldCode;
/** @type {string} */
Dir;
}
export class ReportDefinition {
/** @param {{DatasetCode?:string,Dimensions?:string[],Measures?:ReportMeasure[],Joins?:string[],Filters?:string,Sorts?:ReportSort[],Limit?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
DatasetCode;
/** @type {string[]} */
Dimensions = [];
/** @type {ReportMeasure[]} */
Measures = [];
/** @type {string[]} */
Joins = [];
/** @type {string} */
Filters;
/** @type {ReportSort[]} */
Sorts = [];
/** @type {number} */
Limit;
}
export class ReportColumnMeta {
/** @param {{Code?:string,Name?:string,DataType?:string,FieldKind?:string,Agg?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Code;
/** @type {string} */
Name;
/** @type {string} */
DataType;
/** @type {string} */
FieldKind;
/** @type {string} */
Agg;
}
export class ReportRunResult {
/** @param {{Columns?:ReportColumnMeta[],Rows?:{ [index:string]: Object; }[],RowCount?:number,Truncated?:boolean,Notes?:string[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ReportColumnMeta[]} */
Columns = [];
/** @type {{ [index:string]: Object; }[]} */
Rows = [];
/** @type {number} */
RowCount;
/** @type {boolean} */
Truncated;
/** @type {string[]} */
Notes = [];
}
export class ReportRunResponse {
/** @param {{ResponseStatus?:ResponseStatus,Result?:ReportRunResult}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ResponseStatus} */
ResponseStatus;
/** @type {ReportRunResult} */
Result;
}
export class ReportRunRequest extends ReportDefinition {
/** @param {{DatasetCode?:string,Dimensions?:string[],Measures?:ReportMeasure[],Joins?:string[],Filters?:string,Sorts?:ReportSort[],Limit?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
JavaScript ReportRunRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/report/run HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"DatasetCode":"String","Dimensions":["String"],"Measures":[{"FieldCode":"String","Agg":"String"}],"Joins":["String"],"Filters":"String","Sorts":[{"FieldCode":"String","Dir":"String"}],"Limit":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Result":{"Columns":[{"Code":"String","Name":"String","DataType":"String","FieldKind":"String","Agg":"String"}],"Rows":[{"String":{}}],"RowCount":0,"Truncated":false,"Notes":["String"]}}