Getting started
Exploring and using data
Exploring catalogs and datasets
Exploring a catalog of datasets
What's in a dataset
Filtering data within a dataset
An introduction to the Explore API
An introduction to the Automation API
Introduction to the WFS API
Downloading a dataset
Search your data with AI (vector search)
The Explore data with AI feature
Creating maps and charts
Creating advanced charts with the Charts tool
Overview of the Maps interface
Configure your map
Manage your maps
Reorder and group layers in a map
Creating multi-layer maps
Share your map
Navigating maps made with the Maps interface
Rename and save a map
Creating pages with the Code editor
How to limit who can see your visualizations
Archiving a page
Managing a page's security
Creating a page with the Code editor
Content pages: ideas, tips & resources
How to insert internal links on a page or create a table of contents
Sharing and embedding a content page
How to troubleshoot maps that are not loading correctly
Creating content with Studio
Creating content with Studio
Adding a page
Publishing a page
Editing the page layout
Configuring blocks
Previewing a page
Adding text
Adding a chart
Adding an image block to a Studio page
Adding a map block in Studio
Adding a choropleth map block in Studio
Adding a points of interest map block in Studio
Adding a key performance indicator (KPI)
Configuring page information
Using filters to enhance your pages
Refining data
Managing page access
How to edit the url of a Studio page
Embedding a Studio page in a CMS
Visualizations
Managing saved visualizations
Configuring the calendar visualization
The basics of dataset visualizations
Configuring the images visualization
Configuring the custom view
Configuring the table visualization
Configuring the map visualization
Understanding automatic clustering in maps
Configuring the analyze visualization
Publishing data
Publishing datasets
Creating a dataset
Creating a dataset from a local file
Creating a dataset with multiple files
Creating a dataset from a remote source (URL, API, FTP)
Creating a dataset using dedicated connectors
Creating a dataset with media files
Federating an Opendatasoft dataset
Publishing a dataset
Publishing data from a CSV file
Publishing data in JSON format
Supported file formats
Promote mobility data thanks to GTFS and other formats
What is updated when publishing a remote file?
Configuring datasets
Automated removal of records
Configuring dataset export
Checking dataset history
Configuring the tooltip
Dataset actions and statuses
Dataset limits
Defining a dataset schema
How Opendatasoft manages dates
How and where Opendatasoft handles timezones
How to find your workspace's IP address
Keeping data up to date
Processing data
Translating a dataset
How to configure an HTTP connection to the France Travail API
Deciding what license is best for your dataset
Types of source files
OpenStreetMap files
Shapefiles
JSON files
XML files
Spreadsheet files
RDF files
CSV files
MapInfo files
GeoJSON files
KML/KMZ files
GeoPackage
Connectors
Saving and sharing connections
Airtable connector
Amazon S3 connector
ArcGIS connector
Azure Blob storage connector
Database connectors
Dataset of datasets (workspace) connector
Eco Counter connector
Feed connector
Google BigQuery connector
Google Drive connector
How to find the Open Agenda API Key and the Open Agenda URL
JCDecaux connector
Netatmo connector
OpenAgenda connector
Realtime connector
Salesforce connector
SharePoint connector
U.S. Census connector
WFS connector
Databricks connector
Connecteur Waze
Harvesters
Harvesting a catalog
ArcGIS harvester
ArcGIS Hub Portals harvester
CKAN harvester
CSW harvester
FTP with meta CSV harvester
Opendatasoft Federation harvester
Quandl harvester
Socrata harvester
data.gouv.fr harvester
data.json harvester
Processors
What is a processor and how to use one
Add a field processor
Compute geo distance processor
Concatenate text processor
Convert degrees processor
Copy a field processor
Correct geo shape processor
Create geo point processor
Decode HTML entities processor
Decode a Google polyline processor
Deduplicate multivalued fields processor
Delete record processor
Expand JSON array processor
Expand multivalued field processor
Expression processor
Extract HTML processor
Extract URLs processor
Extract bit range processor
Extract from JSON processor
Extract text processor
File processor
GeoHash to GeoJSON processor
GeoJoin processor
Geocode with ArcGIS processor
Geocode with BAN processor (France)
Geocode with PDOK processor
Geocode with the Census Bureau processor (United States)
Geomasking processor
Get coordinates from a three-word address processor
IP address to geo Coordinates processor
JSON array to multivalued processor
Join datasets processor
Meta expression processor
Nominatim geocoder processor
Normalize Projection Reference processor
Normalize URL processor
Normalize Unicode values processor
Normalize date processor
Polygon filtering processor
Replace text processor
Replace via regular expression processor
Retrieve Administrative Divisions processor
Set timezone processor
Simplify Geo Shape processor
Skip records processor
Split text processor
Transform boolean columns to multivalued field processor
Transpose columns to rows processor
WKT and WKB to GeoJson processor
what3words processor
Data Collection Form
About the Data Collection Form feature
Data Collection Forms associated with your Opendatasoft workspace
Create and manage your data collection forms
Sharing and moderating your data collection forms
Dataset metadata
Analyzing how your data is used
Getting involved: Sharing, Reusing and Reacting
Discovering & submitting data reuses
Sharing through social networks
Commenting via Disqus
Submitting feedback
Following dataset updates
Sharing and embedding data visualizations
Monitoring usage
An overview of monitoring your workspaces
Analyzing user activity
Analyzing actions
Detail about specific fields in the ods-api-monitoring dataset
How to count a dataset's downloads over a specific period
Analyzing data usage
Analyzing a single dataset with its monitoring dashboard
Analyzing back office activity
Using the data lineage feature
Managing your users
Managing limits
Managing users
Managing users
Setting quotas for individual users
Managing access requests
Inviting users to the portal
Managing workspaces
Managing your portal
Configuring your portal
Configure catalog and dataset pages
Configuring a shared catalog
Sharing, reusing, communicating
Customizing your workspace's URL
Managing legal information
Connect Google Analytics (GA4)
Regional settings
Pictograms reference
Managing tracking
Best practices for search engine optimization (SEO)
Look & Feel
Branding your portal
Customizing portal themes
How to customize my portal according to the current language
Managing the dataset themes
Configuring data visualizations
Configuring the navigation
Adding IGN basemaps
Adding images and fonts
Plans and quotas
Managing security
Configuring your portal's overall security policies
A dataset's Security tab
Mapping your directory to groups in Opendatasoft (with SSO)
Single sign-on with OpenID Connect
Single sign-on with SAML
Parameters
- Home
- Exploring and using data
- Exploring catalogs and datasets
- Filtering data within a dataset
Filtering data within a dataset
Updated by Patrick Smith
When searching in datasets with text, it's possible to make more advanced searches using query language. Below are the different terms and methods you can use.
Examples of common searches
The table below gives you examples for the most commonly used kinds of searches.
The records you're searching for | Syntax | Example | What the search returns |
Those containing your search term | term |
| Returns every record containing the string "apricot" |
Those containing a specific search term in a specific field | id_field:term |
| Returns every record containing the string "apple" in the column named "fruit" |
Those containing several values at once | value1 AND value2 |
| Returns every record containing both "apple" and "orange" |
Those containing at least one of mutiple values | value1 OR value2 |
| Returns every record containing either "apple" or "orange" |
Records that don't contain your search term term | NOT term |
| Returns every record which does not contain the string "banana" |
Records containing an exact term in a specific field | #exact(id_field, "term") |
| Returns every record containing the exact string "fruit tree" in the column named "plant." |
Records where the fields are empty | #null(id_field) |
| Returns every record which has no value in the column named "plant" |
Records containing a value that starts with a specified string, in a specified field | #startswith(id_field, "string") |
| Returns every record containing a value that starts with "ap" (apple or apricot, say) in the column named "fruit" |
Records from before a certain date | id_date_field <= YYYY/MM/DD |
| Returns every record for which the value in the "timestamp" field is equal to or prior to September 2022 |
Records from a specific number of days before a specified date | id_date_field > #now(days=-value) |
| Returns every record for which the value in the "timestamp" field is equal to the current day minus 7 days See below for more detail about the "now" condition. |
Records located inside a specific area | For a circular area: #distance("latitude,longitude", distance in meters) For a polygon or square area: #polygon(geo_field, "(lat1,lon1), (lat2,lon2), (lat3,lon3)") |
| Returns every record located 1 km from the center of Paris Returns every record located inside the defined polygon |
Records containing values that resemble the specified term | #search(id_field, "term") |
| Returns records using a fuzzy search. Here, for example, values such as "book of secrets" will be returned, not just "bok of secret" |
Query language in more detail
The Opendatasoft query language makes it possible to express complex boolean conditions as a filtering context.
Full-text search
The query language accepts full-text queries.
If a given word or compound is surrounded with double quotes, only exact matches are returned (the search ignores accents and capital letters).
film
returns results that contain film, films, filmography..."film"
only returns the ones containing exactly film.
Boolean expressions
The query language supports the following Boolean operators AND
, OR
, and NOT
.
Parenthesis can be used to group together expressions and alter the default priority model:
NOT
AND
OR
Samples
film OR trees
(film OR trees) AND paris
Field queries
One of the major features of the query language is to allow per-field filtering. You can use field names as a prefix to your queries to filter the results based on a specific field's value.
The list of available fields corresponds to the available metadata for that dataset. The domain administrator might define a richer metadata template, thus giving access to a richer set of filtering fields. But by default, the following fields are available:
Field name | Description |
publisher | The dataset publisher |
title | The dataset title |
description | The dataset description |
license | The dataset license |
records_count | The number of records in the dataset |
modified | The last modification date of the dataset |
language | The language of the dataset (iso code) |
theme | The theme of the dataset |
keyword | A keyword describing the dataset |
references | The references for the dataset |
territory | The territory of the dataset |
Multiple operators can be used between the field name and the query:
:
,=
,==
: Return results whose field exactly matches the given value (granted the fields are of text or numeric type)>
,<
,>=
,<=
: Return results whose field values are larger, smaller, larger or equal, smaller or equal to the given value (granted the field is of date or numeric type).[start_date TO end_date]
: Queries Records whose date is betweenstart_date
andend_date
.
Date formats can be specified in different formats: simple (YYYY[[/mm]/dd]
) or ISO 8601 (YYYY-mm-DDTHH:MM:SS
)
Examples:
film_date >= 2002
film_date >= 2013/02/11
film_date: [1950 TO 2000]
film_box_office > 10000 AND film_date < 1965
Query language functions
Advanced functions can be used in the query language. Function names need to be prefixed with a pound sign, or hash symbol: #
.
Function name | Description |
now | Returns the current date. This function may be called as a query value for a field. When called without an argument, it will evaluate to the current datetime: |
null | This function may be called specifying a field name as a parameter. It returns the hits for which no value is defined for the specified field. For example |
exact | This function makes it possible to search for records with a field exactly matching a given value. For example, |
attr | This function makes it possible to search for records with a field matching a value in the querying user's SAML attributes. For example, |
Available parameters for the #now
function:
- Years, months, weeks, days, hours, minutes, seconds, microseconds: These parameters add time to the current date.
For example,#now(years=-1, hours=-1)
returns the current date minus a year and an hour. - Year, month, day, hour, minute, second, microsecond: can also be used to specify an absolute date.
For example,#now(year=2001)
returns the current time, day, and month for the year 2001. - Weekday: Specifies a day of the week. This parameter accepts either an integer between 0 and 6 (where 0 is Monday and 6 is Sunday) or the first two letters of the day (in English) followed by the cardinal of the first week on which to start the query.
#now(weeks=-2, weekday=1)
returns the Tuesday before last.#now(weekday=MO(2))
returns Monday after next.
Geo-filtering
Records search accept geo-filter parameters to filter in records that are located in a specific geographical area.
The following parameters may be used.
Parameter name | Description |
geofilter.distance | Limits the result set to a geographical area defined by a circle (coordinates of the center of the circle expressed in WGS84 and distance expressed in meters): latitude,longitude,distance: This query parameter is equivalent to the #distance function described at the beginning of this documentation. |
geofilter.polygon | Limits the result set to a geographical area defined by a polygon (coordinates of the points expressed in WGS84 as in (lat1,lon1),(lat2,lon2),(lat3,lon3): |