Module:ChartPercentage/doc

Category:Module documentation#ChartPercentage/doc

This module provides a transform for chart renderings that selects columns, computes percentages from numerator/denominator pairs, removes denominator columns, and sets multilingual titles for the remaining columns.

See mw:Extension:Chart/Transforms for more documentation on this transform feature of the Charts system.

See similar module: Module:Chart absolute to relative

Usage

process: Compute percentages and set multilingual titles.

To use as a chart transform:

"transform": {
    "module": "ChartPercentRename",
    "function": "process",
    "args": {
        "cols": "pop_2020,pop_total,année",
        "numerator_cols": "pop_2020",
        "denominator_cols": "pop_total",
        "translations": "fr:Population 2020 (%),Année;en:Population 2020 (%),Year"
    }
}

To invoke as a utility function from another module:

local ChartPercentRename = require( "Module:ChartPercentRename" )
local tab = mw.ext.data.get( "Some dataset.tab" )

-- Note this may mutate the original tab object
tab = ChartPercentRename.process(tab, {
    ["cols"] = "pop_2020,pop_total,année",
    ["numerator_cols"] = "pop_2020",
    ["denominator_cols"] = "pop_total",
    ["translations"] = "fr:Population 2020 (%),Année;en:Population 2020 (%),Year"
})

Arguments:

  • cols: comma-separated list of column names to keep initially, otherwise all
  • numerator_cols: comma-separated list of numerator column names
  • denominator_cols: comma-separated list of corresponding denominator column names
  • translations: semicolon-separated list of language blocks in the format lang:Title1,Title2;lang2:TitleA,TitleB (sets f.title[lang] for each numerator column)

The transform computes each numerator as (numerator / denominator) * 100, rounded to two decimal places, replaces the numerator values, and removes the denominator columns from the dataset.

Category:Module documentation