Who wins

Part of the Public tenders in the open

The companies that win the most lots in the town set on the "By town" page (change the ISTAT code there). These are the official ANAC **awardees**: it closes the loop administration → tender → winner.

▶ Use this app

data space «appalti-trasparenti-en» — this micro app reads and writes the suite’s shared data space.

The other micro apps in the same suite

How it works

This is a Reactive app: a plain text document that your browser turns into a working app — forms, live data, tables, statistics and even charts, with nothing to install or configure.

  1. Use it right away. Hit “Use this app”: it opens right in your browser, ready to go, with data saved only on your device.
  2. Your data stays yours. Everything is stored locally on your device, kept separate for each app: no account, no server, nothing to set up.
  3. Make it your own. The text below is the entire app: copy it, tweak fields, views and words, and your changes become interactive instantly.
  4. Share it as a file. An app is a simple file: save it, export it or share it with a link; and with encrypted collaboration several people edit the same data in real time.
The app’s source
# 🏆 Who wins

## Who wins the tenders

The companies that win the most lots in the town set on the "By town" page
(change the ISTAT code there). These are the official ANAC **awardees**: it
closes the loop administration → tender → winner.

::od-query{into="vincitori" sql="SELECT a.denominazione AS impresa, count(*) AS lotti FROM anac_aggiudicatari a JOIN anac_cig g ON g.cig = a.cig WHERE g.luogo_istat = '{#comune}' AND a.denominazione IS NOT NULL GROUP BY 1 ORDER BY lotti DESC LIMIT 25" limit="25"}

::chart-bar{data="vincitori" x="impresa" y="lotti" height="18rem"}

:::table{path="vincitori" headers="Company,Lots won" pagesize="12"}
{impresa} | {lotti}
:::

As with the bodies, here we rank by **number of lots** won: the awarded amounts
contain ANAC source errors and should not be summed blindly.