@frontlinesystems/rason-mcp-server 2026.5.0 → 2026.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +35 -35
- package/README.md +1 -1
- package/examples/EXAMPLES_REFERENCE.md +128 -128
- package/examples/calculation/DMNExamples/DMN Box Fun with typeDef result.json +53 -53
- package/examples/calculation/DMNExamples/DMN Context example.json +69 -69
- package/examples/calculation/DMNExamples/DMN DT with typeDef result.json +43 -43
- package/examples/calculation/DMNExamples/FEEL Date Time example.json +28 -28
- package/examples/calculation/DMNExamples/FEEL For iteration example.json +66 -66
- package/examples/calculation/DMNExamples/FEEL For with two indices.json +15 -15
- package/examples/calculation/DMNExamples/FEEL For with typeDef result.json +88 -88
- package/examples/calculation/DMNExamples/FEEL If Then Else example.json +25 -25
- package/examples/calculation/DMNExamples/FEEL List example.json +37 -37
- package/examples/calculation/DMNExamples/FEEL List operator.json +17 -17
- package/examples/calculation/DMNExamples/FEEL List with typeDef collection.json +36 -36
- package/examples/calculation/DMNExamples/FEEL Some or Every example.json +65 -65
- package/examples/calculation/DecisionTables/DT Datasource example.json +52 -52
- package/examples/calculation/DecisionTables/DT Date and Time examples.json +91 -91
- package/examples/calculation/DecisionTables/DT Expression example.json +32 -32
- package/examples/calculation/DecisionTables/DT Hit Policy examples.json +136 -136
- package/examples/calculation/DecisionTables/DT Loan Recommend model.json +81 -81
- package/examples/calculation/DecisionTables/DT Loan Strategy Model and Predictive CSV-XML.json +218 -218
- package/examples/calculation/DecisionTables/DT Loan Strategy model and Datasource.json +286 -286
- package/examples/calculation/DecisionTables/DT Loan Strategy model and Predictive.json +203 -203
- package/examples/calculation/DecisionTables/DT Loan Strategy model by scratch.json +214 -214
- package/examples/calculation/DecisionTables/DT Output Order example.json +39 -39
- package/examples/calculation/DecisionTables/DT Unique example.json +38 -38
- package/examples/calculation/TypeDefinitions/TypeDefCF.json +64 -64
- package/examples/calculation/TypeDefinitions/TypeDefDT.json +57 -57
- package/examples/datamining/AffinityAnalysis/AssociationRules.json +51 -51
- package/examples/datamining/Classification/DecisionTree.json +90 -90
- package/examples/datamining/Classification/DiscriminantAnalysis.json +81 -81
- package/examples/datamining/Classification/Ensembles/Bagging.json +66 -66
- package/examples/datamining/Classification/Ensembles/Boosting.json +67 -67
- package/examples/datamining/Classification/Ensembles/RandomTrees.json +91 -91
- package/examples/datamining/Classification/FindBestModel.json +86 -86
- package/examples/datamining/Classification/LogisticRegression.json +82 -82
- package/examples/datamining/Classification/NaiveBayes.json +78 -78
- package/examples/datamining/Classification/NearestNeighbors.json +84 -84
- package/examples/datamining/Classification/NeuralNetwork.json +92 -92
- package/examples/datamining/Clustering/Hierarchical.json +54 -54
- package/examples/datamining/Clustering/KMeans.json +71 -71
- package/examples/datamining/DataSources/DelimitedFile.json +49 -49
- package/examples/datamining/DataSources/JSONFile.json +49 -49
- package/examples/datamining/DataSources/MSAccessDatabase.json +49 -49
- package/examples/datamining/DataSources/MSExcelTable.json +50 -50
- package/examples/datamining/DataSources/MSSQLDatabase.json +49 -49
- package/examples/datamining/DataSources/ODATATable.json +49 -49
- package/examples/datamining/DataSources/ODBCDatabase.json +49 -49
- package/examples/datamining/FeatureSelection/LinearWrapping.json +53 -53
- package/examples/datamining/FeatureSelection/LogisticWrapping.json +56 -56
- package/examples/datamining/FeatureSelection/Univariate.json +78 -78
- package/examples/datamining/Regression/DecisionTree.json +82 -82
- package/examples/datamining/Regression/Ensembles/Bagging.json +62 -62
- package/examples/datamining/Regression/Ensembles/Boosting.json +62 -62
- package/examples/datamining/Regression/Ensembles/RandomTrees.json +78 -78
- package/examples/datamining/Regression/FindBestModel.json +86 -86
- package/examples/datamining/Regression/LinearRegression.json +124 -124
- package/examples/datamining/Regression/NearestNeighbors.json +77 -77
- package/examples/datamining/Regression/NeuralNetwork.json +82 -82
- package/examples/datamining/Scoring/JSONClassifier.json +62 -62
- package/examples/datamining/Scoring/JSONClassifierNN.json +62 -62
- package/examples/datamining/Scoring/JSONClusterizer.json +37 -37
- package/examples/datamining/Scoring/JSONForecaster.json +49 -49
- package/examples/datamining/Scoring/JSONLinearRegression.json +56 -56
- package/examples/datamining/Scoring/JSONPCA.json +41 -41
- package/examples/datamining/Scoring/JSONRegressor.json +56 -56
- package/examples/datamining/Scoring/JSONTransformer.json +38 -38
- package/examples/datamining/Scoring/PMMLClassifier.json +42 -42
- package/examples/datamining/Scoring/PMMLForecaster.json +43 -43
- package/examples/datamining/Scoring/PMMLRegressor.json +38 -38
- package/examples/datamining/Scoring/PMMLTransformer.json +38 -38
- package/examples/datamining/Simulation/LinearRegressionSimulation.json +117 -117
- package/examples/datamining/Simulation/SyntheticDataGeneration.json +108 -108
- package/examples/datamining/Simulation/pmml-risk-scoring.json +62 -62
- package/examples/datamining/Summarizer/Summarization.json +54 -54
- package/examples/datamining/TextMining/LatentSemanticAnalysis.json +51 -51
- package/examples/datamining/TextMining/TfIdf-FileData.json +65 -65
- package/examples/datamining/TextMining/TfIdf-InlineData.json +55 -55
- package/examples/datamining/TimeSeries/AddHoltWinters.json +79 -79
- package/examples/datamining/TimeSeries/Arima.json +74 -74
- package/examples/datamining/TimeSeries/DoubleExponential.json +65 -65
- package/examples/datamining/TimeSeries/Exponential.json +64 -64
- package/examples/datamining/TimeSeries/LagAnalysis.json +48 -48
- package/examples/datamining/TimeSeries/MovingAverage.json +65 -65
- package/examples/datamining/TimeSeries/MulHoltWinters.json +65 -65
- package/examples/datamining/TimeSeries/NoTrendHoltWinters.json +65 -65
- package/examples/datamining/Transformation/Binning.json +69 -69
- package/examples/datamining/Transformation/CanonicalVariateAnalysis.json +47 -47
- package/examples/datamining/Transformation/CategoryReduction.json +51 -51
- package/examples/datamining/Transformation/Factorization.json +50 -50
- package/examples/datamining/Transformation/MissingDataHandling.json +83 -83
- package/examples/datamining/Transformation/OneHotEncoding-DataInline.json +54 -54
- package/examples/datamining/Transformation/OneHotEncoding-DatainFile.json +48 -48
- package/examples/datamining/Transformation/PartitionTimeSeries.json +48 -48
- package/examples/datamining/Transformation/Partitioning-DF.json +72 -72
- package/examples/datamining/Transformation/Partitioning.json +46 -46
- package/examples/datamining/Transformation/PartitioningWithOversampling-DF.json +65 -65
- package/examples/datamining/Transformation/PartitioningWithOversampling.json +44 -44
- package/examples/datamining/Transformation/PrincipalComponentsAnalysis.json +52 -52
- package/examples/datamining/Transformation/Rescaling.json +67 -67
- package/examples/datamining/Transformation/Sampling.json +43 -43
- package/examples/datamining/Transformation/StratifiedSampling.json +46 -46
- package/examples/flow/SQLServerTransform.json +260 -260
- package/examples/flow/dm-calc-pipeline.json +277 -277
- package/examples/flow/dm-pipeline-simulation.json +113 -113
- package/examples/flow/opt-sim-pipeline.json +159 -159
- package/examples/flow/sim-dm-pipeline.json +106 -106
- package/examples/flow/sim-sim-pipeline.json +136 -136
- package/examples/index.json +4678 -4678
- package/examples/{Optimization → optimization}/Conic/AirlineHubConic.json +111 -111
- package/examples/{Optimization → optimization}/Conic/AirlineHubConic2.json +108 -108
- package/examples/{Optimization → optimization}/Conic/AirlineHubConic3.json +111 -111
- package/examples/{Optimization → optimization}/Conic/AirlineHubConic4.json +99 -99
- package/examples/{Optimization → optimization}/Conic/AirlineHubConic5.json +101 -101
- package/examples/{Optimization → optimization}/DataBinding/ProductMixCsv.json +81 -81
- package/examples/{Optimization → optimization}/DataBinding/ProductMixCsv4.json +96 -96
- package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel.json +73 -73
- package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel1.json +86 -86
- package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel11.json +108 -108
- package/examples/{Optimization → optimization}/DataBinding/ProductMixExcel2.json +77 -77
- package/examples/{Optimization → optimization}/DataBinding/ProductMixTab.json +89 -89
- package/examples/{Optimization → optimization}/DataBinding/ProductMixTab1.json +73 -73
- package/examples/{Optimization → optimization}/DataBinding/ProductMixTab2.json +77 -77
- package/examples/{Optimization → optimization}/Linear/Inventory.json +199 -199
- package/examples/{Optimization → optimization}/Linear/Matop.json +119 -119
- package/examples/{Optimization → optimization}/Linear/ProductMix.json +97 -97
- package/examples/{Optimization → optimization}/Linear/ProductMix2.json +72 -72
- package/examples/{Optimization → optimization}/Linear/ProductMix3.json +49 -49
- package/examples/{Optimization → optimization}/Linear/ProductMix4.json +56 -56
- package/examples/{Optimization → optimization}/Linear/ProductMixCsv1.json +106 -106
- package/examples/{Optimization → optimization}/Linear/ProductMixCsv2.json +106 -106
- package/examples/{Optimization → optimization}/Linear/ProductMixSQL11.json +82 -82
- package/examples/{Optimization → optimization}/Linear/Rowop.json +126 -126
- package/examples/{Optimization → optimization}/NonLinear/AirlineHub.json +63 -63
- package/examples/{Optimization → optimization}/NonLinear/AirlineHub2.json +47 -47
- package/examples/{Optimization → optimization}/NonLinear/AirlineHub3.json +47 -47
- package/examples/{Optimization → optimization}/NonSmooth/Inventory2.json +159 -159
- package/examples/{Optimization → optimization}/Quadratic/PortfolioOpt.json +55 -55
- package/examples/{Optimization → optimization}/Quadratic/PortfolioOpt2.json +65 -65
- package/examples/{Optimization → optimization}/WithUncertainty/GasCompanyChance.json +78 -78
- package/examples/{Optimization → optimization}/WithUncertainty/GasCompanyRecourse.json +78 -78
- package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect.json +77 -77
- package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect2.json +81 -81
- package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect3.json +84 -84
- package/examples/{Optimization → optimization}/WithUncertainty/ProjectSelect4.json +74 -74
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/DataFiltering/ListwithFilter.json +52 -52
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ProductMix5.json +57 -57
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/compoundWhileStatement.json +35 -35
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ifThenElseStatement.json +33 -33
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/nestedLoop.json +25 -25
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/ParallelArray.json +47 -47
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/indexedArray.json +69 -69
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/nonParallelArray.json +49 -49
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/sumAggregateExample.json +337 -337
- package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/tsp.json +61 -61
- package/examples/rason-features/BoxIterators/Box_Fun_Loop_Iter_Sim_RASON.json +190 -190
- package/examples/rason-features/BoxIterators/Box_Fun_Loop_Sim_RASON.json +75 -75
- package/examples/rason-features/BoxIterators/Box_Fun_Sim_RASON.json +108 -108
- package/examples/rason-features/BoxIterators/Box_Iter_SIM_RASON.json +68 -68
- package/examples/rason-features/BoxIterators/Box_Iterator_Calc_Loop.json +183 -183
- package/examples/rason-features/BoxIterators/Box_Iterator_with_typeDef_partial.json +79 -79
- package/examples/rason-features/BoxLambdaExamples/BoxFunOptimize.json +154 -154
- package/examples/rason-features/BoxLambdaExamples/BoxFunSimulate.json +118 -118
- package/examples/rason-features/BoxLambdaExamples/LambdaFunOptimize.json +142 -142
- package/examples/rason-features/BoxLambdaExamples/LambdaFunSimulate.json +81 -81
- package/examples/rason-features/ReferenceGuide/RGFirehouseLocation.json +69 -69
- package/examples/rason-features/ReferenceGuide/RGFirehouseLocationConic.json +113 -113
- package/examples/rason-features/ReferenceGuide/RGProductMixCsv1.json +107 -107
- package/examples/rason-features/ReferenceGuide/RGProductMixExcel11.json +117 -117
- package/examples/rason-features/ReferenceGuide/RGProductMixSQL11.json +108 -108
- package/examples/rason-features/UserGuide/UGAirlineHubCSV.json +67 -67
- package/examples/rason-features/UserGuide/UGForecast.json +50 -50
- package/examples/rason-features/UserGuide/UGProductMix1.json +48 -48
- package/examples/rason-features/UserGuide/UGProductMix2.json +48 -48
- package/examples/rason-features/UserGuide/UGProductMixTab1.json +67 -67
- package/examples/rason-features/UserGuide/UGProductMixTab2.json +76 -76
- package/examples/rason-features/UserGuide/UGProductMixTab3.json +66 -66
- package/examples/rason-features/UserGuide/UGProductMixTab4.json +70 -70
- package/examples/rason-features/UserGuide/UGProductMixTab5.json +67 -67
- package/examples/rason-features/UserGuide/UGProjectSelect0.json +91 -91
- package/examples/rason-features/UserGuide/UGProjectSelect1.json +74 -74
- package/examples/rason-features/UserGuide/UGProjectSelect2.json +74 -74
- package/examples/rason-features/UserGuide/UGYieldManagement1.json +61 -61
- package/examples/rason-features/UserGuide/UGYieldManagement2.json +61 -61
- package/examples/rason-features/UserGuide/UGYieldManagement3.json +63 -63
- package/examples/{Simulation → simulation}/CandyStoreSalesUsingSIP.json +147 -147
- package/examples/{Simulation → simulation}/CollegeFundGrowth1.json +423 -423
- package/examples/{Simulation → simulation}/CollegeFundGrowth1SIPModel.json +27 -27
- package/examples/{Simulation → simulation}/CollegeFundGrowth2.json +415 -415
- package/examples/{Simulation → simulation}/CollegeFundGrowthSIP.json +401 -401
- package/examples/{Simulation → simulation}/GBMSimulationModel.json +236 -236
- package/examples/{Simulation → simulation}/YieldManagement(Sim).json +69 -69
- package/examples/{Simulation → simulation}/YieldManagement2(Sim).json +72 -72
- package/out/index.cjs +38 -38
- package/package.json +2 -2
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "FEEL_If_Then_Else_Example",
|
|
3
|
-
"modelDescription": "Example of 'if then else' in FEEL",
|
|
4
|
-
"modelType": "calculation",
|
|
5
|
-
"boxFunctions": {
|
|
6
|
-
"funLim": {
|
|
7
|
-
"language": "Feel",
|
|
8
|
-
"resultType": "number",
|
|
9
|
-
"inputs": [ "base" ],
|
|
10
|
-
"inputTypes": [ "number" ],
|
|
11
|
-
"result": "base + 0.141592"
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
"data": {
|
|
15
|
-
"amount": {
|
|
16
|
-
"value": 100,
|
|
17
|
-
"binding": "get"
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"formulas": {
|
|
21
|
-
"res": {
|
|
22
|
-
"feelFormula": "if (amount >= 100) then funLim(amount) else amount",
|
|
23
|
-
"finalValue": []
|
|
24
|
-
}
|
|
25
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "FEEL_If_Then_Else_Example",
|
|
3
|
+
"modelDescription": "Example of 'if then else' in FEEL",
|
|
4
|
+
"modelType": "calculation",
|
|
5
|
+
"boxFunctions": {
|
|
6
|
+
"funLim": {
|
|
7
|
+
"language": "Feel",
|
|
8
|
+
"resultType": "number",
|
|
9
|
+
"inputs": [ "base" ],
|
|
10
|
+
"inputTypes": [ "number" ],
|
|
11
|
+
"result": "base + 0.141592"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"data": {
|
|
15
|
+
"amount": {
|
|
16
|
+
"value": 100,
|
|
17
|
+
"binding": "get"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"formulas": {
|
|
21
|
+
"res": {
|
|
22
|
+
"feelFormula": "if (amount >= 100) then funLim(amount) else amount",
|
|
23
|
+
"finalValue": []
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
26
|
}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "FEEL_List_Example",
|
|
3
|
-
"modelDescription": "Example of a list with component type definition",
|
|
4
|
-
"modelType": "calculation",
|
|
5
|
-
"typeDefs": {
|
|
6
|
-
"tLoan": {
|
|
7
|
-
"language": "feel",
|
|
8
|
-
"components": [ "principal", "rate", "termMonths" ],
|
|
9
|
-
"types": [ "number", "number", "number" ]
|
|
10
|
-
},
|
|
11
|
-
"tLoanList": {
|
|
12
|
-
"language": "feel",
|
|
13
|
-
"isCollection": true,
|
|
14
|
-
"components": [ "principal", "rate", "termMonths" ],
|
|
15
|
-
"types": [ "number", "number", "number" ]
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
"data": {
|
|
19
|
-
"loan": {
|
|
20
|
-
"type": "tLoan",
|
|
21
|
-
"value": [ 300000, 0.02, 360 ],
|
|
22
|
-
"binding": "get"
|
|
23
|
-
},
|
|
24
|
-
"list": {
|
|
25
|
-
"type": "tLoanList",
|
|
26
|
-
"value": [
|
|
27
|
-
[ 600000, 0.0275, 360 ],
|
|
28
|
-
[ 300000, 0.03, 360 ]
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
"formulas": {
|
|
33
|
-
"res": {
|
|
34
|
-
"feelFormula": "append(list, loan)",
|
|
35
|
-
"finalValue": []
|
|
36
|
-
}
|
|
37
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "FEEL_List_Example",
|
|
3
|
+
"modelDescription": "Example of a list with component type definition",
|
|
4
|
+
"modelType": "calculation",
|
|
5
|
+
"typeDefs": {
|
|
6
|
+
"tLoan": {
|
|
7
|
+
"language": "feel",
|
|
8
|
+
"components": [ "principal", "rate", "termMonths" ],
|
|
9
|
+
"types": [ "number", "number", "number" ]
|
|
10
|
+
},
|
|
11
|
+
"tLoanList": {
|
|
12
|
+
"language": "feel",
|
|
13
|
+
"isCollection": true,
|
|
14
|
+
"components": [ "principal", "rate", "termMonths" ],
|
|
15
|
+
"types": [ "number", "number", "number" ]
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"data": {
|
|
19
|
+
"loan": {
|
|
20
|
+
"type": "tLoan",
|
|
21
|
+
"value": [ 300000, 0.02, 360 ],
|
|
22
|
+
"binding": "get"
|
|
23
|
+
},
|
|
24
|
+
"list": {
|
|
25
|
+
"type": "tLoanList",
|
|
26
|
+
"value": [
|
|
27
|
+
[ 600000, 0.0275, 360 ],
|
|
28
|
+
[ 300000, 0.03, 360 ]
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"formulas": {
|
|
33
|
+
"res": {
|
|
34
|
+
"feelFormula": "append(list, loan)",
|
|
35
|
+
"finalValue": []
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
38
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "FEEL_List_Operator",
|
|
3
|
-
"modelDescription": "Example of a list operator definition",
|
|
4
|
-
"modelType": "calculation",
|
|
5
|
-
"data": {
|
|
6
|
-
"a": {
|
|
7
|
-
"value": 3,
|
|
8
|
-
"binding": "get"
|
|
9
|
-
}
|
|
10
|
-
},
|
|
11
|
-
"formulas": {
|
|
12
|
-
"res": {
|
|
13
|
-
"feelFormula": "1 + [[1,a],[5,7]]",
|
|
14
|
-
"finalValue": []
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "FEEL_List_Operator",
|
|
3
|
+
"modelDescription": "Example of a list operator definition",
|
|
4
|
+
"modelType": "calculation",
|
|
5
|
+
"data": {
|
|
6
|
+
"a": {
|
|
7
|
+
"value": 3,
|
|
8
|
+
"binding": "get"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"formulas": {
|
|
12
|
+
"res": {
|
|
13
|
+
"feelFormula": "1 + [[1,a],[5,7]]",
|
|
14
|
+
"finalValue": []
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "FEEL_List_with_typeDef_Collection",
|
|
3
|
-
"comment": "Example of a list with typeDef collection",
|
|
4
|
-
"modelType": "calculation",
|
|
5
|
-
"typeDefs": {
|
|
6
|
-
"tLoan": {
|
|
7
|
-
"language": "feel",
|
|
8
|
-
"components": [ "principal", "rate", "termMonths" ],
|
|
9
|
-
"types": [ "number", "number", "number" ]
|
|
10
|
-
},
|
|
11
|
-
"tLoanList": {
|
|
12
|
-
"language": "feel",
|
|
13
|
-
"isCollection": true,
|
|
14
|
-
"typeRef": "tLoan"
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"data": {
|
|
18
|
-
"loan": {
|
|
19
|
-
"type": "tLoan",
|
|
20
|
-
"value": [ 300000, 0.02, 360 ],
|
|
21
|
-
"binding": "get"
|
|
22
|
-
},
|
|
23
|
-
"list": {
|
|
24
|
-
"type": "tLoanList",
|
|
25
|
-
"value": [
|
|
26
|
-
[ 600000, 0.0275, 360 ],
|
|
27
|
-
[ 300000, 0.03, 360 ]
|
|
28
|
-
]
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
"formulas": {
|
|
32
|
-
"res": {
|
|
33
|
-
"feelFormula": "append(list, loan)",
|
|
34
|
-
"finalValue": []
|
|
35
|
-
}
|
|
36
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "FEEL_List_with_typeDef_Collection",
|
|
3
|
+
"comment": "Example of a list with typeDef collection",
|
|
4
|
+
"modelType": "calculation",
|
|
5
|
+
"typeDefs": {
|
|
6
|
+
"tLoan": {
|
|
7
|
+
"language": "feel",
|
|
8
|
+
"components": [ "principal", "rate", "termMonths" ],
|
|
9
|
+
"types": [ "number", "number", "number" ]
|
|
10
|
+
},
|
|
11
|
+
"tLoanList": {
|
|
12
|
+
"language": "feel",
|
|
13
|
+
"isCollection": true,
|
|
14
|
+
"typeRef": "tLoan"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"data": {
|
|
18
|
+
"loan": {
|
|
19
|
+
"type": "tLoan",
|
|
20
|
+
"value": [ 300000, 0.02, 360 ],
|
|
21
|
+
"binding": "get"
|
|
22
|
+
},
|
|
23
|
+
"list": {
|
|
24
|
+
"type": "tLoanList",
|
|
25
|
+
"value": [
|
|
26
|
+
[ 600000, 0.0275, 360 ],
|
|
27
|
+
[ 300000, 0.03, 360 ]
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"formulas": {
|
|
32
|
+
"res": {
|
|
33
|
+
"feelFormula": "append(list, loan)",
|
|
34
|
+
"finalValue": []
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
37
|
}
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "FEEL_Some_or_Every_example",
|
|
3
|
-
"comment": "Example of 'Some/Every' iteration in FEEL",
|
|
4
|
-
"modelType": "calculation",
|
|
5
|
-
"typeDefs": {
|
|
6
|
-
"tLoan": {
|
|
7
|
-
"components": {
|
|
8
|
-
"principal": {
|
|
9
|
-
"type": "number",
|
|
10
|
-
"allowedValues": [ ">0" ]
|
|
11
|
-
},
|
|
12
|
-
"rate": {
|
|
13
|
-
"type": "number",
|
|
14
|
-
"allowedValues": [ "[0..1]" ]
|
|
15
|
-
},
|
|
16
|
-
"termMonths": {
|
|
17
|
-
"type": "number",
|
|
18
|
-
"allowedValues": [ ">0" ]
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
"language": "Feel"
|
|
22
|
-
},
|
|
23
|
-
"tLoanList": {
|
|
24
|
-
"language": "Feel",
|
|
25
|
-
"typeRef": "tLoan",
|
|
26
|
-
"isCollection": true
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
"boxFunctions": {
|
|
30
|
-
"funPMT": {
|
|
31
|
-
"inputs": [ "loan" ],
|
|
32
|
-
"inputTypes": [ "tLoan" ],
|
|
33
|
-
"language": "Feel",
|
|
34
|
-
"resultType": "number",
|
|
35
|
-
"body": {
|
|
36
|
-
"payment": {
|
|
37
|
-
"formula": "(loan.principal*loan.rate/12) / (1 - (1 + loan.rate/12)**-loan.termMonths)"
|
|
38
|
-
},
|
|
39
|
-
"fee": {
|
|
40
|
-
"formula": "0.01 * payment"
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
"result": "payment + fee"
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
"data": {
|
|
47
|
-
"loans": {
|
|
48
|
-
"type": "tLoanList",
|
|
49
|
-
"value": [
|
|
50
|
-
[ 600000, 0.0375, 360 ],
|
|
51
|
-
[ 100000, 0.0375, 360 ]
|
|
52
|
-
],
|
|
53
|
-
"binding": "get"
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
"formulas": {
|
|
57
|
-
"MonthlyPayment": {
|
|
58
|
-
"feelFormula": "for i in loans return funPMT(i)",
|
|
59
|
-
"finalValue": []
|
|
60
|
-
},
|
|
61
|
-
"LoanAcceptable": {
|
|
62
|
-
"feelFormula": "if (every i in MonthlyPayment satisfies i < 2000) then 'accept' else 'reject'",
|
|
63
|
-
"finalValue": []
|
|
64
|
-
}
|
|
65
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "FEEL_Some_or_Every_example",
|
|
3
|
+
"comment": "Example of 'Some/Every' iteration in FEEL",
|
|
4
|
+
"modelType": "calculation",
|
|
5
|
+
"typeDefs": {
|
|
6
|
+
"tLoan": {
|
|
7
|
+
"components": {
|
|
8
|
+
"principal": {
|
|
9
|
+
"type": "number",
|
|
10
|
+
"allowedValues": [ ">0" ]
|
|
11
|
+
},
|
|
12
|
+
"rate": {
|
|
13
|
+
"type": "number",
|
|
14
|
+
"allowedValues": [ "[0..1]" ]
|
|
15
|
+
},
|
|
16
|
+
"termMonths": {
|
|
17
|
+
"type": "number",
|
|
18
|
+
"allowedValues": [ ">0" ]
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"language": "Feel"
|
|
22
|
+
},
|
|
23
|
+
"tLoanList": {
|
|
24
|
+
"language": "Feel",
|
|
25
|
+
"typeRef": "tLoan",
|
|
26
|
+
"isCollection": true
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"boxFunctions": {
|
|
30
|
+
"funPMT": {
|
|
31
|
+
"inputs": [ "loan" ],
|
|
32
|
+
"inputTypes": [ "tLoan" ],
|
|
33
|
+
"language": "Feel",
|
|
34
|
+
"resultType": "number",
|
|
35
|
+
"body": {
|
|
36
|
+
"payment": {
|
|
37
|
+
"formula": "(loan.principal*loan.rate/12) / (1 - (1 + loan.rate/12)**-loan.termMonths)"
|
|
38
|
+
},
|
|
39
|
+
"fee": {
|
|
40
|
+
"formula": "0.01 * payment"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"result": "payment + fee"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"data": {
|
|
47
|
+
"loans": {
|
|
48
|
+
"type": "tLoanList",
|
|
49
|
+
"value": [
|
|
50
|
+
[ 600000, 0.0375, 360 ],
|
|
51
|
+
[ 100000, 0.0375, 360 ]
|
|
52
|
+
],
|
|
53
|
+
"binding": "get"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"formulas": {
|
|
57
|
+
"MonthlyPayment": {
|
|
58
|
+
"feelFormula": "for i in loans return funPMT(i)",
|
|
59
|
+
"finalValue": []
|
|
60
|
+
},
|
|
61
|
+
"LoanAcceptable": {
|
|
62
|
+
"feelFormula": "if (every i in MonthlyPayment satisfies i < 2000) then 'accept' else 'reject'",
|
|
63
|
+
"finalValue": []
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
66
|
}
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
{
|
|
2
|
-
"modelName": "DTDatasourceExample",
|
|
3
|
-
"comment": "Decision table inputs from a datasource: This RASON decision table example illustrates how to provide an outside data source. Decision Tables contain a set of rules which specify actions to perform based on specific conditions. Decision tables are a good tool to use when there is a consistent number of rules, or conditions, to be evaluated followed by a specific set of actions to be performed once a rule, or condition, is met. In this example, the customer data is supplied in the DT Customers.txt CSV file. The decisiont table in this example generates a medical rating for a patient based on the age of the patient and his/her medical history.",
|
|
4
|
-
"modelType": "calculation",
|
|
5
|
-
"datasources": {
|
|
6
|
-
"comment": "Specify outside data sources within the 'datasources' section of a RASON model.",
|
|
7
|
-
"cust_data": {
|
|
8
|
-
"comment": "The CSV file, DT Customers.txt contains the input parameters for the decision table, PolicyUnique.",
|
|
9
|
-
"type": "csv",
|
|
10
|
-
"connection": "DT Customers.txt",
|
|
11
|
-
"selection": "",
|
|
12
|
-
"indexCols": [ "custID" ],
|
|
13
|
-
"valueCols": [ "custAge", "medHistory" ],
|
|
14
|
-
"direction": "import"
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"data": {
|
|
18
|
-
"comment": "The input parameters, custAge and medHistory, are bound to the age and med variables within the data section.",
|
|
19
|
-
"age": {
|
|
20
|
-
"comment": "The input parameter custAge from the DT Customers.txt CSV file is bound to the age variable.",
|
|
21
|
-
"binding": "cust_data",
|
|
22
|
-
"valueCol": "custAge"
|
|
23
|
-
},
|
|
24
|
-
"med": {
|
|
25
|
-
"comment": "The input parameter medHistory from the DT Customers.txt CSV file is bound to the med variable.",
|
|
26
|
-
"binding": "cust_data",
|
|
27
|
-
"valueCol": "medHistory"
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
"decisionTables": {
|
|
31
|
-
"comment": "Decision tables are created within the decisionTable section in a RASON model. In this example, there is 1 decision table, the PolicyUnique decision table.",
|
|
32
|
-
"PolicyUnique": {
|
|
33
|
-
"comment": "In this decision table, the input and output parameters are passed using the 'inputs' and 'outputs' properties, respectively. It's possible to provide types for the inputs and outputs, see the DTDateTimeExample. The decision table rules appear under 'rules'. The hit policy must be specified using 'hitPolicy'.",
|
|
34
|
-
"inputs": [ "age", "medHistory" ],
|
|
35
|
-
"outputs": [ "riskRating", "rule" ],
|
|
36
|
-
"rules": [
|
|
37
|
-
[ ">60,<25", "good", "medium", "r1" ],
|
|
38
|
-
[ ">60", "bad", "high", "r2" ],
|
|
39
|
-
[ "[25..60]", "-", "medium", "r3" ],
|
|
40
|
-
[ "<25", "good", "low", "r4" ],
|
|
41
|
-
[ "<25", "bad", "medium", "r5" ]
|
|
42
|
-
],
|
|
43
|
-
"hitPolicy": "U"
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
"formulas": {
|
|
47
|
-
"comment": "The decision table is called and calculated within the formulas section. The res function calls the PolicyUnique decision table with two inputs, age, and med. Both input parameters are supplied through the DT Customers.txt CSV file. The result of the decision table will be returned in the result. ",
|
|
48
|
-
"res": {
|
|
49
|
-
"formula": "PolicyUnique(,,age[1], med[1])",
|
|
50
|
-
"finalValue": []
|
|
51
|
-
}
|
|
52
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"modelName": "DTDatasourceExample",
|
|
3
|
+
"comment": "Decision table inputs from a datasource: This RASON decision table example illustrates how to provide an outside data source. Decision Tables contain a set of rules which specify actions to perform based on specific conditions. Decision tables are a good tool to use when there is a consistent number of rules, or conditions, to be evaluated followed by a specific set of actions to be performed once a rule, or condition, is met. In this example, the customer data is supplied in the DT Customers.txt CSV file. The decisiont table in this example generates a medical rating for a patient based on the age of the patient and his/her medical history.",
|
|
4
|
+
"modelType": "calculation",
|
|
5
|
+
"datasources": {
|
|
6
|
+
"comment": "Specify outside data sources within the 'datasources' section of a RASON model.",
|
|
7
|
+
"cust_data": {
|
|
8
|
+
"comment": "The CSV file, DT Customers.txt contains the input parameters for the decision table, PolicyUnique.",
|
|
9
|
+
"type": "csv",
|
|
10
|
+
"connection": "DT Customers.txt",
|
|
11
|
+
"selection": "",
|
|
12
|
+
"indexCols": [ "custID" ],
|
|
13
|
+
"valueCols": [ "custAge", "medHistory" ],
|
|
14
|
+
"direction": "import"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"data": {
|
|
18
|
+
"comment": "The input parameters, custAge and medHistory, are bound to the age and med variables within the data section.",
|
|
19
|
+
"age": {
|
|
20
|
+
"comment": "The input parameter custAge from the DT Customers.txt CSV file is bound to the age variable.",
|
|
21
|
+
"binding": "cust_data",
|
|
22
|
+
"valueCol": "custAge"
|
|
23
|
+
},
|
|
24
|
+
"med": {
|
|
25
|
+
"comment": "The input parameter medHistory from the DT Customers.txt CSV file is bound to the med variable.",
|
|
26
|
+
"binding": "cust_data",
|
|
27
|
+
"valueCol": "medHistory"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"decisionTables": {
|
|
31
|
+
"comment": "Decision tables are created within the decisionTable section in a RASON model. In this example, there is 1 decision table, the PolicyUnique decision table.",
|
|
32
|
+
"PolicyUnique": {
|
|
33
|
+
"comment": "In this decision table, the input and output parameters are passed using the 'inputs' and 'outputs' properties, respectively. It's possible to provide types for the inputs and outputs, see the DTDateTimeExample. The decision table rules appear under 'rules'. The hit policy must be specified using 'hitPolicy'.",
|
|
34
|
+
"inputs": [ "age", "medHistory" ],
|
|
35
|
+
"outputs": [ "riskRating", "rule" ],
|
|
36
|
+
"rules": [
|
|
37
|
+
[ ">60,<25", "good", "medium", "r1" ],
|
|
38
|
+
[ ">60", "bad", "high", "r2" ],
|
|
39
|
+
[ "[25..60]", "-", "medium", "r3" ],
|
|
40
|
+
[ "<25", "good", "low", "r4" ],
|
|
41
|
+
[ "<25", "bad", "medium", "r5" ]
|
|
42
|
+
],
|
|
43
|
+
"hitPolicy": "U"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"formulas": {
|
|
47
|
+
"comment": "The decision table is called and calculated within the formulas section. The res function calls the PolicyUnique decision table with two inputs, age, and med. Both input parameters are supplied through the DT Customers.txt CSV file. The result of the decision table will be returned in the result. ",
|
|
48
|
+
"res": {
|
|
49
|
+
"formula": "PolicyUnique(,,age[1], med[1])",
|
|
50
|
+
"finalValue": []
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
53
|
}
|