moda

fun ReportBuilder.moda(model: AdditiveMODAModel, caption: String? = null)(source)

Appends a self-contained section reporting the results of a live AdditiveMODAModel. This is a thin backward-compatible entry point: it projects the model into a MODAReportData holder via modaReportData and delegates to the moda overload that renders from the holder. See that overload for the section structure produced.

Usage:

val doc = report("Distribution Fitting Evaluation") {
moda(pdfModeler.evaluateScoringResults(scoringResults))
}
doc.showInBrowser()

Parameters

model

the additive MODA model whose results will be rendered

caption

optional section title; defaults to model.name or "MODA Results" when the name is blank


fun ReportBuilder.moda(data: MODAReportData, caption: String? = null)(source)

Appends a self-contained section reporting MODA results from a MODAReportData holder. The holder is produced from a live AdditiveMODAModel (via modaReportData) or from a reconstructed/serialized result, so the same standard report renders from either source.

Produces (inside a section titled caption or data.name):

  1. Metric DefinitionsDataTable with columns Metric | Direction | Weight | Domain Lower | Domain Upper | Units | Description

  2. Scores and Values — two DataTables:

    • Raw Scores — metric values before value-function transformation

    • Transformed Values (0–1) and Overall Weighted Value — value-function outputs plus the additive composite overall value per alternative

  3. RankingsDataTable with per-metric rank, 1st-rank count, and average rank; rows sorted by average rank (lowest average rank first)

Parameters

data

the MODA report data whose results will be rendered

caption

optional section title; defaults to data.name or "MODA Results" when the name is blank