Module:Tabular data/doc

< Module:Tabular data
Revision as of 07:32, 16 July 2021 by Zoran (talk | contribs) (Pywikibot 6.4.0)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This is the documentation page for Module:Tabular data

Template:Module rating

This module provides basic functions for interacting with tabular data on Wikimedia Commons.

cell

Returns the value of the cell at the given row index and column name.

Usage: Template:Mlx

A row index of 1 refers to the first row in the table. A row index of -1 refers to the last row in the table. It is an error to specify a row index of 0.

Examples

Latest death toll in c:Data:COVID-19 cases in Santa Clara County, California.tab (regardless of when the table was last updated):

Lua error in Module:Tabular_data at line 22: attempt to index field 'data' (a nil value).

lookup

Returns the value of the cell(s) in one or more output columns of the row matching the search key and column.

This function is reminiscent of LOOKUP() macros in popular spreadsheet applications, except that the search key must match exactly. (On the other hand, this means the table does not need to be sorted.)

Usage: Template:Mlx

If multiple columns are output without an explicit string format, this function formats the output as a human-readable list.

Some may find {{Tabular query}} (which uses this module) an intuitive way to obtain cell data as it resembles a simple SQL query.

Parameters

Template:Para
Page name on Commons with extension but no namespace
Template:Para or Template:Para
Value to find or pattern to match in column
Template:Para
Name of column to search in
Template:Para
Index of the match to output in case of multiple matching rows. A row index of 1 refers to the first matching row. A row index of -1 refers to the last matching row. It is an error to specify a row index of 0.
Template:Para or Template:Para, Template:Para, ...
Names of columns to output
Template:Para
String format to format the output

Examples

Total confirmed case count in c:Data:COVID-19 cases in Santa Clara County, California.tab on the day that the county issued a stay-at-home order:

Lua error in Module:Tabular_data at line 91: attempt to index field 'data' (a nil value).

The last day that a hundred or more patients with COVID-19 were in the hospital in c:Data:COVID-19 cases in Santa Clara County, California.tab:

Lua error in Module:Tabular_data at line 91: attempt to index field 'data' (a nil value).

Total number of administrators on all Wikimedia wikis using c:Data:Wikipedia statistics/data.tab:

Lua error in Module:Tabular_data at line 91: attempt to index field 'data' (a nil value).

Number of administrators and users on all Wikimedia wikis using c:Data:Wikipedia statistics/data.tab:

Lua error in Module:Tabular_data at line 91: attempt to index field 'data' (a nil value).

Note: Wikipedia statistics are shown as an illustration only. In practice, there is a high-performance module Template:Tlx to access Wikipedia statistics.

wikitable

Template:Tracked

Returns the entire data table as a (rather plain) table.

Usage: Template:Mlx

Examples

Template:Collapse top Lua error in Module:Tabular_data at line 139: attempt to index field 'data' (a nil value). Template:Collapse bottom

Implementation notes

The implementation of this function incorporates {{n/a}} (to represent null values), {{yes}} (true), and {{no}} (false). The templates themselves cannot be reused because they are incompatible with the mw.html library, which builds the table using an HTML DOM instead of pure wikitext.

Internationalization

You can most likely port this template to a wiki in another language without making major modifications. The wikitable function automatically localizes the table's description, column titles, and license name into the wiki's content language. It also formats numbers according to the content language. However, you should localize the cells representing true, false, and null by changing the values in the messages, bgColors, and colors variables to match the wiki's own {{yes}}, {{no}}, and {{n/a}} templates, respectively.

See also