Oms API GET Run Output Table csv compare runs Ids - openmpp/openmpp.github.io GitHub Wiki

Compare model runs and return results as csv file.

Compare [base] and [variant] model runs output values for each expression and get it as response stream UTF-8 outputTable.csv file attachment, optionally starts with byte order mark (BOM).

Comparison can be calculated as one of the following:

  • for each table expression use one of: diff, ratio or percent comparison between [base] and [variant] model runs.
  • use comma separated list of comparison expressions between [base] and [variant] or simple expression for each run.

Dimension(s) returned as enum id's.

Methods:

GET /api/model/:model/run/:run/table/:name/compare/:compare/variant/:variant/csv-id
GET /api/model/:model/run/:run/table/:name/compare/:compare/variant/:variant/csv-id-bom

Arguments:

:model - (required) model digest or model name

Model can be identified by digest or by model name. It is recommended to use digest because it is uniquely identifies model. It is possible to use model name, which is more human readable than digest, but if there are multiple models with same name in database than result is undefined.

:run     - (required) base model run digest, run stamp or run name
:variant - (required) variant model run(s): comma-separated list of digests, run stamps or run names

Model run can be identified by run digest, run stamp or run name. It is recommended to use digest because it is uniquely identifies model run. Run stamp, if not explicitly specified as model run option, automatically generated as timestamp string, ex.: 2016_08_17_21_07_55_123. It is also possible to use name, which is more human readable than digest, but if there are multiple runs with same name in database than result is undefined.

:name - (required) output table name
:compare - (required) comparison to calculate
  • diff differenece of values between variant and base run, e.g.: Expr0[variant] - Expr0[base]
  • ratio ratio of values between variant and base run, e.g.: Expr0[variant] / Expr0[base]
  • percent proportional difference multipled by 100, e.g.: 100 * (Expr0[variant] - Expr0[base]) / Expr0[base]

Or a list of comma-separated expressions, for example: expr0, expr1[variant] + expr2[base]

It is also possible to use parameter(s) in calculation, parameter must be a scalar of float or integer type. For example: (Expr1[variant] - Expr1[base]) * param.Scale[base], where param.Scale is a value of scalar parameter Scale in [base] model run.

Call examples:

http://localhost:4040/api/model/modelOne/run/Default/table/salarySex/compare/diff/variant/Default-4/csv
http://localhost:4040/api/model/modelOne/run/Default/table/salarySex/compare/ratio/variant/Default-4/csv
http://localhost:4040/api/model/modelOne/run/Default/table/salarySex/compare/percent/variant/Default-4/csv

http://localhost:4040/api/model/modelOne/run/Default/table/salarySex/compare/diff/variant/Default-4/csv-bom

http://localhost:4040/api/model/modelOne/run/Default/table/salarySex/compare/expr0,expr1,expr2/variant/Default-4/csv
http://localhost:4040/api/model/modelOne/run/Default/table/salarySex/compare/expr0%2Cexpr1%5Bvariant%5D%2Bexpr2%5Bbase%5D/variant/Default-4/csv

Note: above expr0%2Cexpr1%5Bvariant%5D%2Bexpr2%5Bbase%5D is URL encoded: expr0,expr1[variant]+expr2[base].

Example:

In output below CalcId contains output table expression id's: 0 <= ExprId < 12000 or id's of calculated values: ExprId + 12000. For example, id of calculated value Expr2[variant] - Expr2[base] is: CalcId = 12002

curl http://localhost:4040/api/model/modelOne/run/Default/table/salarySex/compare/ratio/variant/Default-4,Sub-values_4/csv-id
run_id,calc_id,dim0,dim1,calc_value
201,0,100,0,50
201,0,100,1,60
201,0,100,800,1
201,0,200,0,51.6
201,0,200,1,62
201,0,200,800,2
201,0,300,0,53.2
201,0,300,1,64
201,0,300,800,3
201,1,100,0,0
201,1,100,1,1
201,1,100,800,800
201,1,200,0,1
201,1,200,1,2
201,1,200,800,801
201,1,300,0,2
201,1,300,1,3
201,1,300,800,802
201,2,100,0,50
201,2,100,1,61
201,2,100,800,801
201,2,200,0,52.6
201,2,200,1,64
201,2,200,800,803
201,2,300,0,55.2
201,2,300,1,67
201,2,300,800,805
201,3,100,0,0
201,3,100,1,60
201,3,100,800,800
201,3,200,0,51.6
201,3,200,1,124
201,3,200,800,1602
201,3,300,0,106.4
201,3,300,1,192
201,3,300,800,2406
202,0,100,0,50
202,0,100,1,60
202,0,100,800,1201
202,0,200,0,51.6
202,0,200,1,62
202,0,200,800,1202
202,0,300,0,53.2
202,0,300,1,64
202,0,300,800,1203
202,1,100,0,6
202,1,100,1,10
202,1,100,800,3206
202,1,200,0,10
202,1,200,1,14
202,1,200,800,3210
202,1,300,0,14
202,1,300,1,18
202,1,300,800,3214
202,2,100,0,51.5
202,2,100,1,62.5
202,2,100,800,2002.5
202,2,200,0,54.1
202,2,200,1,65.5
202,2,200,800,2004.5
202,2,300,0,56.7
202,2,300,1,68.5
202,2,300,800,2006.5
202,3,100,0,75
202,3,100,1,150
202,3,100,800,963601.5
202,3,200,0,129
202,3,200,1,217
202,3,200,800,965605
202,3,300,0,186.2
202,3,300,1,288
202,3,300,800,967610.5
202,12000,100,0,1
202,12000,100,1,1
202,12000,100,800,1201
202,12000,200,0,1
202,12000,200,1,1
202,12000,200,800,601
202,12000,300,0,1
202,12000,300,1,1
202,12000,300,800,401
202,12001,100,0,null
202,12001,100,1,10
202,12001,100,800,4.0075
202,12001,200,0,10
202,12001,200,1,7
202,12001,200,800,4.00749063670412
202,12001,300,0,7
202,12001,300,1,6
202,12001,300,800,4.0074812967581
202,12002,100,0,1.03
202,12002,100,1,1.02459016393443
202,12002,100,800,2.5
202,12002,200,0,1.02851711026616
202,12002,200,1,1.0234375
202,12002,200,800,2.49626400996264
202,12002,300,0,1.02717391304348
202,12002,300,1,1.02238805970149
202,12002,300,800,2.49254658385093
202,12003,100,0,null
202,12003,100,1,2.5
202,12003,100,800,1204.501875
202,12003,200,0,2.5
202,12003,200,1,1.75
202,12003,200,800,602.749687890137
202,12003,300,0,1.75
202,12003,300,1,1.5
202,12003,300,800,402.165627597672
208,0,100,0,50
208,0,100,1,60
208,0,100,800,1201
208,0,200,0,51.6
208,0,200,1,62
208,0,200,800,1202
208,0,300,0,53.2
208,0,300,1,64
208,0,300,800,1203
208,1,100,0,6
208,1,100,1,10
208,1,100,800,3206
208,1,200,0,10
208,1,200,1,14
208,1,200,800,3210
208,1,300,0,14
208,1,300,1,18
208,1,300,800,3214
208,2,100,0,51.5
208,2,100,1,62.5
208,2,100,800,2002.5
208,2,200,0,54.1
208,2,200,1,65.5
208,2,200,800,2004.5
208,2,300,0,56.7
208,2,300,1,68.5
208,2,300,800,2006.5
208,3,100,0,75
208,3,100,1,150
208,3,100,800,963601.5
208,3,200,0,129
208,3,200,1,217
208,3,200,800,965605
208,3,300,0,186.2
208,3,300,1,288
208,3,300,800,967610.5
208,12000,100,0,1
208,12000,100,1,1
208,12000,100,800,1201
208,12000,200,0,1
208,12000,200,1,1
208,12000,200,800,601
208,12000,300,0,1
208,12000,300,1,1
208,12000,300,800,401
208,12001,100,0,null
208,12001,100,1,10
208,12001,100,800,4.0075
208,12001,200,0,10
208,12001,200,1,7
208,12001,200,800,4.00749063670412
208,12001,300,0,7
208,12001,300,1,6
208,12001,300,800,4.0074812967581
208,12002,100,0,1.03
208,12002,100,1,1.02459016393443
208,12002,100,800,2.5
208,12002,200,0,1.02851711026616
208,12002,200,1,1.0234375
208,12002,200,800,2.49626400996264
208,12002,300,0,1.02717391304348
208,12002,300,1,1.02238805970149
208,12002,300,800,2.49254658385093
208,12003,100,0,null
208,12003,100,1,2.5
208,12003,100,800,1204.501875
208,12003,200,0,2.5
208,12003,200,1,1.75
208,12003,200,800,602.749687890137
208,12003,300,0,1.75
208,12003,300,1,1.5
208,12003,300,800,402.165627597672
⚠️ **GitHub.com Fallback** ⚠️