Module:NUMBEROF/rank explained

-- Return a table of statistics to be accessed once per page using mw.loadData.-- For each sister project, the table ranks each site by its number of articles.

local projects =

local function getData(statistics) local iSite, iArticles for i, v in ipairs(statistics.schema.fields) do if v.name

'site' then iSite = i elseif v.name

'articles' then iArticles = i end end local rankBySite, rankByIndex =, for _, v in ipairs(statistics.data) do rankBySite[v[iSite]] = v[iArticles] -- rank of site from number of articles rankByIndex[v[iArticles]] = v[iSite] -- inverse end return end

local function makeData -- For example, data to rank each language for sister project wikipedia is at -- https://commons.wikimedia.org/wiki/Data:Wikipedia_statistics/rank/wikipedia.tab local result = for _, project in ipairs(projects) do result[project] = getData(mw.ext.data.get('Wikipedia statistics/rank/' .. project .. '.tab')) end return resultend

return makeData