Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit d5c34949 authored by Enrico UBALDI's avatar Enrico UBALDI
Browse files

Version 0.6.5

parent 4ed2ce64
Branches
Tags
1 merge request!4Version 0.6.5
Showing
with 1086 additions and 71 deletions
......@@ -27,16 +27,12 @@ workflow:
on_new_commit: interruptible
variables:
# Mandatory variables for default pipeline:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
POETRY_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pypoetry"
# Speedup caching of node modules
# see https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/2684
FF_USE_FASTZIP: 1
CACHE_COMPRESSION_LEVEL: "fastest"
PIPELINE_BRANCH: "main"
SKIP_DEPLOY: "false"
.cache_template: &app-cache
cache:
......@@ -58,12 +54,6 @@ variables:
# Workaround, see https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/3538
- git config --global --add safe.directory $CI_PROJECT_DIR
cache:
paths:
- /tmp/.cache/pip
- /tmp/.cache/poetry
- /tmp/.local/
stages:
- test
- build
......@@ -112,7 +102,7 @@ e2e-test:
- openshift-test
script:
# Run a cheap end-to-end test using the daily routine over two days in light version
- ./scripts/daily_routine.sh --start 2023-10-01 --end 2023-10-02 --version light
- ./scripts/daily_routine.sh --start 2023-09-25 --end 2023-09-26 --version light
# Data folder created
- ls data/tdb_data/global___light
# Log and parameters
......@@ -123,7 +113,7 @@ e2e-test:
# Daily dump chunks for each date
- "[[ $(ls data/tdb_data/global___light/daily_dumps_chunked/ | wc -l) == 2 ]]"
# Parquet aggregation
- "ls data/tdb_data/global___light/aggregated-global-light.{dates_files.csv,configuration.yaml,parquet}"
- "ls data/tdb_data/global___light/aggregations/aggregated-global-light.{dates_files.csv,configuration.yaml,parquet}"
app_build:
stage: build
......@@ -197,3 +187,27 @@ pages:
artifacts:
paths:
- public
# No container registry enabled in the JRC
# container:
# image: quay.apps.ocpt.jrc.ec.europa.eu/public/dockerhub/debian:bullseye-slim
# tags:
# - openshift-test
# stage: container
# before_script:
# - echo "This is the before_script stage for the container step"
# - *setup_proxies
# - echo "Installing docker"
# - apt-get update
# - curl -fsSL https://get.docker.com -o get-docker.sh
# - sh ./get-docker.sh
# - echo "$DOCKER_REGISTRY_PASSWORD" | podman login $CI_REGISTRY -u "$DOCKER_REGISTRY_USERNAME" --password-stdin
# script:
# - echo "This is the container stage"
# - img_tag=$CI_REGISTRY/$CI_PROJECT_NAME:$CI_COMMIT_TAG
# - podman build -t $img_tag .
# - podman push $img_tag
# - podman push $img_tag $CI_REGISTRY/$CI_PROJECT_NAME:latest
# rules:
# - if: $CI_COMMIT_TAG
# when: always
<!--
This file is part of dsa_tdb (see https://code.europa.eu/dsa/transparency-database/dsa-tdb).
SPDX-License-Identifier: EUPLv1.2
Copyright (C) 2024 European Union
This program is free software: you can redistribute it and/or modify
it under the terms of the EUROPEAN UNION PUBLIC LICENCE v. 1.2 as
published by the European Union.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
EUROPEAN UNION PUBLIC LICENCE v. 1.2 for further details.
You should have received a copy of the EUROPEAN UNION PUBLIC LICENCE v. 1.2.
along with this program.
If not, see < https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 >.-->
# Changelog
## Breaking Changes
* [0.6.5] Switched to new names for the aggregates: `aggregated-complete` and `aggregated-simple`.
* [0.6.5] Fixed an error in the default aggregation provided and switched to a truly full one.
## [0.6.5] - 2025-02-17
* [Breaking Change] Changed the names of the default aggregates to be `aggregated-{simple,complete}.parquet` and to be in the `aggregations` subfolder of the platform/version directory: `/data/tdb_data/global___full/aggregations/aggregated-complete.parquet'
* [Breaking Change] Fixed the default aggregation not to account for the `content_type_other` column. To reflect this in the old aggregates do:
```python
df_agg_old = spark.read.parquet('/path/to/old/aggregated.parquet')
df_agg_complete_new = (
df_agg_old
.groupby(*[c for c in df_agg_old.columns if c not in ['count', 'content_type_other']])
.agg(F.sum('count').alias('count'))
)
df_agg_complete_new.write.parquet('/path/to/new/aggregate.parquet')
```
* Improved default dashboard.
* Switched to a single spark master in the docker-compose template.
* Using relative path in the dates file for filtering/aggregation to make the installation portable.
\ No newline at end of file
......@@ -19,6 +19,13 @@ If not, see < https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 >.--
Contributing
============
## Joining code.europa.eu
In order to report issues or propose code modifications, you will have to create an account on [code.europa.eu](https://code.europa.eu/info/about#registration-and-sign-in).
After sending the registration requests, your account will be activated within one working day, usually after an email asking for some information is sent to you. This manual approval step is in place to prevent misuse of the platform.
## Setting up dev environment
Ensure you install the projects with all required dependencies for development:
......
......@@ -29,9 +29,6 @@ ARG DOCKER_USER=${DOCKER_USER:-user}
ARG DOCKER_USER_ID=${DOCKER_USER_ID:-1000}
ARG DOCKER_GROUP_ID=${DOCKER_GROUP_ID:-1000}
# Pinned versions
ENV SUPERSET_VERSION="4.0.2"
# Ports
ENV JUPYTER_PORT=${JUPYTER_PORT:-8765}
ENV SPARK_THRIFT_PORT=${SPARK_THRIFT_PORT:-4050}
......@@ -51,6 +48,8 @@ ENV CELERY_BROKER_URL=${CELERY_BROKER_URL:-redis://redis-docker-service:6379/0}
ENV FLOWER_UNAUTHENTICATED_API=true
ENV FLASK_APP=superset
ENV SUPERSET_CONFIG_PATH=/home/$DOCKER_USER/app/system_resources/superset_config.py
# Drop Superset telemetry, see https://superset.apache.org/docs/faq/#does-superset-collect-any-telemetry-data
ENV SCARF_ANALYTICS=false
USER root
......@@ -61,7 +60,7 @@ RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends \
supervisor \
python3-wheel \
python3-wheel python3-wheel-whl \
python3-dev \
python3-venv \
python3-pip \
......@@ -93,8 +92,8 @@ RUN set -ex; \
echo `which pipx`; \
pipx install poetry==1.8.3; \
pipx inject poetry poetry-plugin-export; \
pipx install apache-superset==4.0.2; \
pipx inject apache-superset pillow==11.0.0 pyhive==0.7.0 thrift==0.21.0 thrift-sasl; \
pipx install apache-superset==4.1.1; \
pipx inject apache-superset pillow==11.0.0 pyhive==0.7.0 thrift==0.21.0 thrift-sasl gevent; \
python3 -m venv $VIRTUAL_ENV;
WORKDIR /src
......@@ -107,15 +106,16 @@ COPY --chown=$DOCKER_USER:$DOCKER_GROUP_ID app /home/$DOCKER_USER/app
COPY --chown=$DOCKER_USER:$DOCKER_GROUP_ID app/system_resources/main_celery.py /home/$DOCKER_USER/
COPY --chown=$DOCKER_USER:$DOCKER_GROUP_ID app/system_resources/main_fastapi.py /home/$DOCKER_USER/
COPY --chown=$DOCKER_USER:$DOCKER_GROUP_ID app/system_resources/user-settings /home/$DOCKER_USER/.jupyter/lab/user-settings
COPY --chown=$DOCKER_USER:$DOCKER_GROUP_ID app/system_resources/init_superset.sh /home/$DOCKER_USER/
# Set the working directory
WORKDIR /home/$DOCKER_USER
# Init superset
RUN /opt/spark/sbin/start-master.sh -h 0.0.0.0 -p 7077 --webui-port $SPARK_MASTER_UI_PORT && /opt/spark/sbin/start-thriftserver.sh --conf spark.ui.port=$SPARK_THRIFT_PORT; \
superset db upgrade && superset fab create-admin --username admin --firstname admin --lastname user --email admin@example.com --password admin && superset init; \
superset import-directory /home/$DOCKER_USER/app/system_resources/superset_exports/; \
/opt/spark/sbin/stop-master.sh -h 0.0.0.0 -p 7077 --webui-port $SPARK_MASTER_UI_PORT && /opt/spark/sbin/stop-thriftserver.sh --conf spark.ui.port=$SPARK_THRIFT_PORT;
# # Init superset # Moved to runtime
# RUN /opt/spark/sbin/start-master.sh -h 0.0.0.0 -p 7077 --webui-port $SPARK_MASTER_UI_PORT && /opt/spark/sbin/start-thriftserver.sh --master spark://127.0.0.1:7077 --conf spark.ui.port=$SPARK_THRIFT_PORT; \
# superset db upgrade && superset fab create-admin --username admin --firstname admin --lastname user --email admin@example.com --password admin && superset init; \
# superset import-directory /home/$DOCKER_USER/app/system_resources/superset_exports/; \
# /opt/spark/sbin/stop-master.sh -h 0.0.0.0 -p 7077 --webui-port $SPARK_MASTER_UI_PORT && /opt/spark/sbin/stop-thriftserver.sh --conf spark.ui.port=$SPARK_THRIFT_PORT;
# Expose the port for the notebook
EXPOSE $JUPYTER_PORT
......
......@@ -103,7 +103,7 @@ The command has three subcommands:
- `preprocess` will download the specified daily dumps (eventually filtered by platforms or time window), verify their `SHA1` checksum and check for new files, later chunking them in smaller csv or parquet files. Optionally, it will delete the original dumps as they are processed (to save disk space), leaving the sha1 files as a proof of work. This allows to repeately run the `preprocess` step on a daily basis to always have the files in place. The resulting "chunked" files are stored as regular flat csv or parquet files which can be conveniently and efficiently loaded into the data processing pipeline of your choice (Spark, Dask, etc.) without having to go through the complex data structure of the daily dumps (zipped csv files).
- `aggregate` will use a separate configuration file (a template of which is provided in the repo under the [Aggregation Configuration Template](config_aggregation.yaml)) to perform aggregation, that is, counting the number of Statements of reasons (SoRs) corresponding to a given combination of the fields in the database (such as `content_date`, `platform_name`, `category`, etc.):
- `aggregate` will use a separate configuration file (a template of which is provided in the repo under the [Aggregation Configuration Template](config_aggregation_simple.yaml) for the simple version that reproduces the data used in the [online dashboard](https://transparency.dsa.ec.europa.eu/dashboard) and in [a complete version](config_aggregation_complete.yaml), which is the default used in the Superset dashboard) to perform aggregation, that is, counting the number of Statements of reasons (SoRs) corresponding to a given combination of the fields in the database (such as `content_date`, `platform_name`, `category`, etc.):
* This command will considerably reduce the size of the database by aggregating together similar rows (each statement of reason is a new row in the chunked data files, when they share the same values as defined in the aggregation configuration, they are represented as a single row with an incremented count in the aggregated files).
* This command will also write an auxiliary csv file (with the same name of the `out_file_name`) containing the files and dates of the daily dumps used for the aggregation.
* It will also make a copy of the configuration file used in the same folder of the output file with the same name and the `configuration.yaml` file for later reference.
......@@ -148,13 +148,13 @@ There are two examples:
Starting from version 0.5.1, the `dsa-tdb` package comes with a pre-built dashboard based on [Apache Superset](https://superset.apache.org/). The dashboard allows to visualize the aggregated data for the global, full version of the dumps. These dashboards and the corresponding dataset definitions are located in the [superset_exports](app/system_resources/superset_exports/) folder.
The default dashboard expects the aggregated data to be under the `/data/tdb_data/global___full/aggregated-global-full.parquet` directory inside the container.
The default dashboard expects the aggregated data to be under the `/data/tdb_data/global___full/aggregations/aggregated-global-full.parquet` directory inside the container.
To view the dashboard:
- Launch the docker container with the `docker-compose up` using the `docker-compose.yml` file provided in the repo, as shown in the section [Docker](#with-docker-podman-recommended) above.
- Create an aggregated view of the global full dataset, using either the cli or the `daily_routine` in the [scripts](scripts) folder. Using the API:
- Do a prepare with root data folder in `/data/tdb_data` and `global` platform and `full` version.
- Do an aggregate with the same root folder, `global` platform and `full` version, and the `output file` set to `/data/tdb_data/global___full/aggregated-global-full`
- Do an aggregate with the same root folder, `global` platform and `full` version, and the `output file` set to `/data/tdb_data/global___full/aggregations/aggregated-global-full`
- Please note that this might take a lot of time, so please test the procedure with a short time period first.
- Visit the Superset UI at `http://localhost:8088` (default username and password are `admin`).
......@@ -163,6 +163,11 @@ To view the dashboard:
An example usage notebook is available in [`notebooks/Example.ipynb`](notebooks/Example.ipynb).
## Contributing
If you'd like to report issues, suggest code modifications or contribute in any other form, please head to the [CONTRIBUTING.md](CONTRIBUTING.md) documentation file.
## License
`dsa-tdb` is licensed under European Union Public Licence (EUPL) version 1.2.
......
#!/bin/bash
##
## This file is part of dsa_tdb (see https://code.europa.eu/dsa/transparency-database/dsa-tdb).
##
## SPDX-License-Identifier: EUPLv1.2
## Copyright (C) 2024 European Union
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the EUROPEAN UNION PUBLIC LICENCE v. 1.2 as
## published by the European Union.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## EUROPEAN UNION PUBLIC LICENCE v. 1.2 for further details.
##
## You should have received a copy of the EUROPEAN UNION PUBLIC LICENCE v. 1.2.
## along with this program.
##
## If not, see < https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 >.##
set -ex
sup_cmd=${HOME}/.local/share/pipx/venvs/apache-superset/bin/superset
check_file=${HOME}/.superset/SUPERSET_INIT_DONE
# Check if SUPERSET_INIT_DONE file in the home directory does not exists
if [ ! -f $check_file ]; then
echo "SUPERSET_INIT_DONE file not found, initializing Superset..."
# TODO move to netclt
sleep 10; # wait for the database to be ready
# Initialize Superset database and dashboards
$sup_cmd db upgrade;
$sup_cmd fab create-admin --username admin --firstname admin --lastname user --email admin@example.com --password admin;
$sup_cmd init;
$sup_cmd import-directory ${HOME}/app/system_resources/superset_exports/
touch $check_file
fi
# Serve superset with gunicorn instead of built-in development server
# $sup_cmd run -h 0.0.0.0 -p $SUPERSET_PORT --with-threads
${HOME}/.local/share/pipx/venvs/apache-superset/bin/gunicorn -w 10 -k gevent --worker-connections 1000 --timeout 600 -b 0.0.0.0:${SUPERSET_PORT} --limit-request-line 0 --limit-request-field_size 0 "superset.app:create_app()"
......@@ -25,7 +25,7 @@ except ImportError:
from dsa_tdb.types import CELERY_TASK_QUEUE
app = Celery("dsa_tdb", broker="redis://localhost:6379/0", include=["app.tasks"])
app = Celery("dsa_tdb", broker="redis://redis-docker-service:6379/0", include=["app.tasks"])
# Optional configuration, e.g., result backend
app.conf.update(
......
......@@ -4,15 +4,16 @@ logfile=/dev/null
logfile_maxbytes=0
[program:superset-celery]
command=/home/user/.local/share/pipx/venvs/apache-superset/bin/celery --app=superset.tasks.celery_app:app worker --pool=prefork -O fair -c 4
command=/home/%(ENV_DOCKER_USER)s/.local/share/pipx/venvs/apache-superset/bin/celery --app=superset.tasks.celery_app:app worker --pool=prefork -O fair -c 4
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true
autostart=true
[program:superset-app]
command=/home/user/.local/share/pipx/venvs/apache-superset/bin/superset run -h 0.0.0.0 -p %(ENV_SUPERSET_PORT)s --with-threads
command=/bin/bash /home/%(ENV_DOCKER_USER)s/init_superset.sh
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true
autostart=true
environment=HOME=/home/%(ENV_DOCKER_USER)s,USER=%(ENV_DOCKER_USER)s
......@@ -72,3 +72,9 @@ CELERY_CONFIG = CeleryConfig
RESULTS_BACKEND = RedisCache(host="redis-docker-service", port=6379, key_prefix="superset_results")
PREVENT_UNSAFE_DB_CONNECTIONS = False
# Let users run queries over large subsets
SUPERSET_WEBSERVER_TIMEOUT = 600
SQL_MAX_ROW = 1000000000
DISPLAY_MAX_ROW = SQL_MAX_ROW
##
## This file is part of dsa_tdb (see https://code.europa.eu/dsa/transparency-database/dsa-tdb).
##
## SPDX-License-Identifier: EUPLv1.2
## Copyright (C) 2024 European Union
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the EUROPEAN UNION PUBLIC LICENCE v. 1.2 as
## published by the European Union.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## EUROPEAN UNION PUBLIC LICENCE v. 1.2 for further details.
##
## You should have received a copy of the EUROPEAN UNION PUBLIC LICENCE v. 1.2.
## along with this program.
##
## If not, see < https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 >.##
slice_name: Count of created SoR by platform
description: null
certified_by: null
certification_details: null
viz_type: pie
params:
datasource: 24__table
viz_type: pie
slice_id: 99
groupby:
- platform_name
metric:
aggregate: SUM
column:
advanced_data_type: null
certification_details: null
certified_by: null
column_name: count
description: null
expression: null
filterable: true
groupby: true
id: 797
is_certified: false
is_dttm: false
python_date_format: null
type: BIGINT_TYPE
type_generic: 0
verbose_name: null
warning_markdown: null
datasourceWarning: false
expressionType: SIMPLE
hasCustomLabel: false
label: SUM(count)
optionName: metric_y7tl5zw8tjm_yrkrqi1qbm
sqlExpression: null
adhoc_filters:
- clause: WHERE
comparator: No filter
datasourceWarning: false
expressionType: SIMPLE
filterOptionName: filter_o8b4fq9asm_4i10y21z3xm
isExtra: false
isNew: false
operator: TEMPORAL_RANGE
operatorId: TEMPORAL_RANGE
sqlExpression: null
subject: created_at
row_limit: 100
sort_by_metric: true
color_scheme: supersetColors
show_labels_threshold: 5
show_legend: false
legendType: scroll
legendOrientation: top
label_type: key
number_format: SMART_NUMBER
date_format: smart_date
show_labels: true
labels_outside: false
outerRadius: 70
innerRadius: 30
extra_form_data: {}
dashboards:
- 1
annotation_layers: []
query_context: '{"datasource":{"id":24,"type":"table"},"force":false,"queries":[{"filters":[{"col":"created_at","op":"TEMPORAL_RANGE","val":"No
filter"}],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":["platform_name"],"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_y7tl5zw8tjm_yrkrqi1qbm","sqlExpression":null}],"orderby":[[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_y7tl5zw8tjm_yrkrqi1qbm","sqlExpression":null},false]],"annotation_layers":[],"row_limit":100,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"24__table","viz_type":"pie","slice_id":99,"groupby":["platform_name"],"metric":{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_y7tl5zw8tjm_yrkrqi1qbm","sqlExpression":null},"adhoc_filters":[{"clause":"WHERE","comparator":"No
filter","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_o8b4fq9asm_4i10y21z3xm","isExtra":false,"isNew":false,"operator":"TEMPORAL_RANGE","operatorId":"TEMPORAL_RANGE","sqlExpression":null,"subject":"created_at"}],"row_limit":100,"sort_by_metric":true,"color_scheme":"supersetColors","show_labels_threshold":5,"show_legend":false,"legendType":"scroll","legendOrientation":"top","label_type":"key","number_format":"SMART_NUMBER","date_format":"smart_date","show_labels":true,"labels_outside":false,"outerRadius":70,"innerRadius":30,"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}'
cache_timeout: null
uuid: 9aceee3b-4910-481c-9ffa-e270c130a1e7
version: 1.0.0
dataset_uuid: 0c29bfcb-681d-48ec-a6ec-d7e419783187
##
## This file is part of dsa_tdb (see https://code.europa.eu/dsa/transparency-database/dsa-tdb).
##
## SPDX-License-Identifier: EUPLv1.2
## Copyright (C) 2024 European Union
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the EUROPEAN UNION PUBLIC LICENCE v. 1.2 as
## published by the European Union.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## EUROPEAN UNION PUBLIC LICENCE v. 1.2 for further details.
##
## You should have received a copy of the EUROPEAN UNION PUBLIC LICENCE v. 1.2.
## along with this program.
##
## If not, see < https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 >.##
slice_name: Counts by platform over time
description: null
certified_by: null
certification_details: null
viz_type: echarts_area
params:
datasource: 24__table
viz_type: echarts_area
slice_id: 98
x_axis: created_at
time_grain_sqla: P1D
x_axis_sort_asc: true
x_axis_sort_series: name
x_axis_sort_series_ascending: true
metrics:
- aggregate: SUM
column:
advanced_data_type: null
certification_details: null
certified_by: null
column_name: count
description: null
expression: null
filterable: true
groupby: true
id: 797
is_certified: false
is_dttm: false
python_date_format: null
type: BIGINT_TYPE
type_generic: 0
verbose_name: null
warning_markdown: null
datasourceWarning: false
expressionType: SIMPLE
hasCustomLabel: false
label: SUM(count)
optionName: metric_rz1ofs8015_yhco6zv3kfp
sqlExpression: null
groupby:
- platform_name
adhoc_filters:
- clause: WHERE
comparator: No filter
datasourceWarning: false
expressionType: SIMPLE
filterOptionName: filter_kkxzjwgi8k_3ljc4hddva7
isExtra: false
isNew: false
operator: TEMPORAL_RANGE
operatorId: TEMPORAL_RANGE
sqlExpression: null
subject: created_at
order_desc: true
row_limit: 10000
truncate_metric: true
show_empty_columns: true
comparison_type: values
annotation_layers: []
forecastPeriods: 10
forecastInterval: 0.8
x_axis_title: Created at
x_axis_title_margin: 30
y_axis_title: Count
y_axis_title_margin: 50
y_axis_title_position: Left
sort_series_type: name
sort_series_ascending: true
color_scheme: supersetColors
seriesType: line
opacity: 0.2
stack: null
only_total: true
show_extra_controls: false
markerEnabled: false
markerSize: 6
minorTicks: true
zoomable: true
show_legend: false
x_axis_time_format: smart_date
rich_tooltip: true
tooltipSortByMetric: false
tooltipTimeFormat: smart_date
y_axis_format: SMART_NUMBER
logAxis: false
minorSplitLine: true
truncateXAxis: false
truncateYAxis: false
y_axis_bounds:
- null
- null
extra_form_data: {}
dashboards:
- 1
query_context: '{"datasource":{"id":24,"type":"table"},"force":false,"queries":[{"filters":[{"col":"created_at","op":"TEMPORAL_RANGE","val":"No
filter"}],"extras":{"time_grain_sqla":"P1D","having":"","where":""},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"created_at","label":"created_at","expressionType":"SQL"},"platform_name"],"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_rz1ofs8015_yhco6zv3kfp","sqlExpression":null}],"orderby":[[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_rz1ofs8015_yhco6zv3kfp","sqlExpression":null},false]],"annotation_layers":[],"row_limit":10000,"series_columns":["platform_name"],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["created_at"],"columns":["platform_name"],"aggregates":{"SUM(count)":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"rename","options":{"columns":{"SUM(count)":null},"level":0,"inplace":true}},{"operation":"flatten"}]}],"form_data":{"datasource":"24__table","viz_type":"echarts_area","slice_id":98,"x_axis":"created_at","time_grain_sqla":"P1D","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_rz1ofs8015_yhco6zv3kfp","sqlExpression":null}],"groupby":["platform_name"],"adhoc_filters":[{"clause":"WHERE","comparator":"No
filter","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_kkxzjwgi8k_3ljc4hddva7","isExtra":false,"isNew":false,"operator":"TEMPORAL_RANGE","operatorId":"TEMPORAL_RANGE","sqlExpression":null,"subject":"created_at"}],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"x_axis_title":"Created
at","x_axis_title_margin":30,"y_axis_title":"Count","y_axis_title_margin":50,"y_axis_title_position":"Left","sort_series_type":"name","sort_series_ascending":true,"color_scheme":"supersetColors","seriesType":"line","opacity":0.2,"stack":null,"only_total":true,"show_extra_controls":false,"markerEnabled":false,"markerSize":6,"minorTicks":true,"zoomable":true,"show_legend":false,"x_axis_time_format":"smart_date","rich_tooltip":true,"tooltipSortByMetric":false,"tooltipTimeFormat":"smart_date","y_axis_format":"SMART_NUMBER","logAxis":false,"minorSplitLine":true,"truncateXAxis":false,"truncateYAxis":false,"y_axis_bounds":[null,null],"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}'
cache_timeout: null
uuid: 34bc43f3-e549-4b91-933b-db5b850eec6d
version: 1.0.0
dataset_uuid: 0c29bfcb-681d-48ec-a6ec-d7e419783187
##
## This file is part of dsa_tdb (see https://code.europa.eu/dsa/transparency-database/dsa-tdb).
##
## SPDX-License-Identifier: EUPLv1.2
## Copyright (C) 2024 European Union
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the EUROPEAN UNION PUBLIC LICENCE v. 1.2 as
## published by the European Union.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## EUROPEAN UNION PUBLIC LICENCE v. 1.2 for further details.
##
## You should have received a copy of the EUROPEAN UNION PUBLIC LICENCE v. 1.2.
## along with this program.
##
## If not, see < https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 >.##
slice_name: Number of created SoR relative to monthly active users
description: The average number of SoRs sent on a monthly basis by each platform per
monthly active users.
certified_by: null
certification_details: null
viz_type: echarts_timeseries_scatter
params:
datasource: 26__table
viz_type: echarts_timeseries_scatter
slice_id: 101
x_axis: platform_name
xAxisForceCategorical: true
x_axis_sort: platform_name
x_axis_sort_asc: true
x_axis_sort_series: name
x_axis_sort_series_ascending: true
metrics:
- aggregate: SUM
column:
advanced_data_type: null
changed_on: '2024-11-08T16:28:55.180587'
column_name: sor_per_amau
created_on: '2024-11-08T16:28:38.385148'
description: null
expression: ''
extra: null
filterable: true
groupby: true
id: 808
is_active: true
is_dttm: false
python_date_format: null
type: DOUBLE_TYPE
type_generic: 0
uuid: ac3d8ff9-e821-4000-a652-4f825174f8ac
verbose_name: null
datasourceWarning: false
expressionType: SIMPLE
hasCustomLabel: false
label: SUM(sor_per_amau)
optionName: metric_gow92dp15sj_o9ydc9rh6oc
sqlExpression: null
groupby: []
adhoc_filters:
- clause: WHERE
comparator: No filter
datasourceWarning: false
expressionType: SIMPLE
filterOptionName: filter_ykt4djvni1_v6lvhgj4jx
isExtra: false
isNew: false
operator: TEMPORAL_RANGE
operatorId: TEMPORAL_RANGE
sqlExpression: null
subject: created_at
order_desc: true
row_limit: 10000
truncate_metric: false
show_empty_columns: false
comparison_type: values
annotation_layers: []
forecastPeriods: 10
forecastInterval: 0.8
x_axis_title_margin: 15
y_axis_title_margin: 15
y_axis_title_position: Left
sort_series_type: name
sort_series_ascending: true
color_scheme: supersetColors
show_value: true
only_total: true
markerEnabled: false
markerSize: 6
minorTicks: true
show_legend: false
legendType: scroll
legendOrientation: top
x_axis_time_format: smart_date
xAxisLabelRotation: 90
rich_tooltip: true
tooltipTimeFormat: smart_date
y_axis_format: SMART_NUMBER
logAxis: true
minorSplitLine: false
truncateXAxis: true
y_axis_bounds:
- null
- null
extra_form_data: {}
dashboards:
- 1
query_context: '{"datasource":{"id":26,"type":"table"},"force":false,"queries":[{"filters":[{"col":"created_at","op":"TEMPORAL_RANGE","val":"No
filter"}],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":[{"columnType":"BASE_AXIS","sqlExpression":"platform_name","label":"platform_name","expressionType":"SQL"}],"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"changed_on":"2024-11-08T16:28:55.180587","column_name":"sor_per_amau","created_on":"2024-11-08T16:28:38.385148","description":null,"expression":"","extra":null,"filterable":true,"groupby":true,"id":808,"is_active":true,"is_dttm":false,"python_date_format":null,"type":"DOUBLE_TYPE","type_generic":0,"uuid":"ac3d8ff9-e821-4000-a652-4f825174f8ac","verbose_name":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(sor_per_amau)","optionName":"metric_gow92dp15sj_o9ydc9rh6oc","sqlExpression":null}],"orderby":[[{"aggregate":"SUM","column":{"advanced_data_type":null,"changed_on":"2024-11-08T16:28:55.180587","column_name":"sor_per_amau","created_on":"2024-11-08T16:28:38.385148","description":null,"expression":"","extra":null,"filterable":true,"groupby":true,"id":808,"is_active":true,"is_dttm":false,"python_date_format":null,"type":"DOUBLE_TYPE","type_generic":0,"uuid":"ac3d8ff9-e821-4000-a652-4f825174f8ac","verbose_name":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(sor_per_amau)","optionName":"metric_gow92dp15sj_o9ydc9rh6oc","sqlExpression":null},false]],"annotation_layers":[],"row_limit":10000,"series_columns":[],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["platform_name"],"columns":[],"aggregates":{"SUM(sor_per_amau)":{"operator":"mean"}},"drop_missing_columns":true}},{"operation":"sort","options":{"is_sort_index":true,"ascending":true}},{"operation":"flatten"}]}],"form_data":{"datasource":"26__table","viz_type":"echarts_timeseries_scatter","slice_id":101,"x_axis":"platform_name","xAxisForceCategorical":true,"x_axis_sort":"platform_name","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"changed_on":"2024-11-08T16:28:55.180587","column_name":"sor_per_amau","created_on":"2024-11-08T16:28:38.385148","description":null,"expression":"","extra":null,"filterable":true,"groupby":true,"id":808,"is_active":true,"is_dttm":false,"python_date_format":null,"type":"DOUBLE_TYPE","type_generic":0,"uuid":"ac3d8ff9-e821-4000-a652-4f825174f8ac","verbose_name":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(sor_per_amau)","optionName":"metric_gow92dp15sj_o9ydc9rh6oc","sqlExpression":null}],"groupby":[],"adhoc_filters":[{"clause":"WHERE","comparator":"No
filter","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_ykt4djvni1_v6lvhgj4jx","isExtra":false,"isNew":false,"operator":"TEMPORAL_RANGE","operatorId":"TEMPORAL_RANGE","sqlExpression":null,"subject":"created_at"}],"order_desc":true,"row_limit":10000,"truncate_metric":false,"show_empty_columns":false,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"name","sort_series_ascending":true,"color_scheme":"supersetColors","show_value":true,"only_total":true,"markerEnabled":false,"markerSize":6,"minorTicks":true,"show_legend":false,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","xAxisLabelRotation":90,"rich_tooltip":true,"tooltipTimeFormat":"smart_date","y_axis_format":"SMART_NUMBER","logAxis":true,"minorSplitLine":false,"truncateXAxis":true,"y_axis_bounds":[null,null],"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}'
cache_timeout: null
uuid: 8ee25cb1-bf48-46b9-8de4-8b7f7fba4701
version: 1.0.0
dataset_uuid: 1457164c-21e5-4ddb-97c0-fb50094a7dff
##
## This file is part of dsa_tdb (see https://code.europa.eu/dsa/transparency-database/dsa-tdb).
##
## SPDX-License-Identifier: EUPLv1.2
## Copyright (C) 2024 European Union
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the EUROPEAN UNION PUBLIC LICENCE v. 1.2 as
## published by the European Union.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## EUROPEAN UNION PUBLIC LICENCE v. 1.2 for further details.
##
## You should have received a copy of the EUROPEAN UNION PUBLIC LICENCE v. 1.2.
## along with this program.
##
## If not, see < https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 >.##
slice_name: Share of categories by platform
description: null
certified_by: null
certification_details: null
viz_type: heatmap_v2
params:
datasource: 1__table
viz_type: heatmap_v2
slice_id: 11
x_axis: platform_name
groupby:
expressionType: SQL
label: category
sqlExpression: REPLACE(category, 'STATEMENT_CATEGORY_', '')
metric:
aggregate: SUM
column:
advanced_data_type: null
certification_details: null
certified_by: null
column_name: count
description: null
expression: null
filterable: true
groupby: true
id: 797
is_certified: false
is_dttm: false
python_date_format: null
type: BIGINT_TYPE
type_generic: 0
verbose_name: null
warning_markdown: null
datasourceWarning: false
expressionType: SIMPLE
hasCustomLabel: false
label: SUM(count)
optionName: metric_or2sgnbpq1b_ec681rjewv
sqlExpression: null
adhoc_filters:
- clause: WHERE
comparator: No filter
datasourceWarning: false
expressionType: SIMPLE
filterOptionName: filter_r9o2b3ws57_1fgbxvclk7w
isExtra: false
isNew: false
operator: TEMPORAL_RANGE
operatorId: TEMPORAL_RANGE
sqlExpression: null
subject: created_at
row_limit: 10000
linear_color_scheme: dark_blue
xscale_interval: 1
yscale_interval: 1
normalize_across: x
left_margin: auto
bottom_margin: auto
value_bounds:
- null
- null
y_axis_format: SMART_NUMBER
time_format: '%d/%m/%Y'
sort_x_axis: alpha_asc
sort_y_axis: alpha_asc
show_legend: true
show_percentage: false
normalized: true
extra_form_data: {}
dashboards:
- 1
annotation_layers: []
legend_type: continuous
query_context: '{"datasource": {"id": 1, "type": "table"}, "force": false, "queries":
[{"filters": [{"col": "created_at", "op": "TEMPORAL_RANGE", "val": "No filter"}],
"extras": {"having": "", "where": ""}, "applied_time_extras": {}, "columns": [],
"metrics": [{"aggregate": "SUM", "column": {"advanced_data_type": null, "certification_details":
null, "certified_by": null, "column_name": "count", "description": null, "expression":
null, "filterable": true, "groupby": true, "id": 797, "is_certified": false, "is_dttm":
false, "python_date_format": null, "type": "BIGINT_TYPE", "type_generic": 0, "verbose_name":
null, "warning_markdown": null}, "datasourceWarning": false, "expressionType": "SIMPLE",
"hasCustomLabel": false, "label": "SUM(count)", "optionName": "metric_or2sgnbpq1b_ec681rjewv",
"sqlExpression": null}], "annotation_layers": [], "row_limit": 10000, "series_limit":
0, "order_desc": true, "url_params": {}, "custom_params": {}, "custom_form_data":
{}}], "form_data": "{\"datasource\": \"1__table\", \"viz_type\": \"heatmap_v2\",
\"slice_id\": 11, \"x_axis\": \"platform_name\", \"groupby\": {\"expressionType\":
\"SQL\", \"label\": \"category\", \"sqlExpression\": \"REPLACE(category, ''STATEMENT_CATEGORY_'',
'''')\"}, \"metric\": {\"aggregate\": \"SUM\", \"column\": {\"advanced_data_type\":
null, \"certification_details\": null, \"certified_by\": null, \"column_name\":
\"count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\":
true, \"id\": 797, \"is_certified\": false, \"is_dttm\": false, \"python_date_format\":
null, \"type\": \"BIGINT_TYPE\", \"type_generic\": 0, \"verbose_name\": null, \"warning_markdown\":
null}, \"datasourceWarning\": false, \"expressionType\": \"SIMPLE\", \"hasCustomLabel\":
false, \"label\": \"SUM(count)\", \"optionName\": \"metric_or2sgnbpq1b_ec681rjewv\",
\"sqlExpression\": null}, \"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\":
\"No filter\", \"datasourceWarning\": false, \"expressionType\": \"SIMPLE\", \"filterOptionName\":
\"filter_r9o2b3ws57_1fgbxvclk7w\", \"isExtra\": false, \"isNew\": false, \"operator\":
\"TEMPORAL_RANGE\", \"operatorId\": \"TEMPORAL_RANGE\", \"sqlExpression\": null,
\"subject\": \"created_at\"}], \"row_limit\": 10000, \"linear_color_scheme\": \"dark_blue\",
\"xscale_interval\": 1, \"yscale_interval\": 1, \"normalize_across\": \"x\", \"left_margin\":
\"auto\", \"bottom_margin\": \"auto\", \"value_bounds\": [null, null], \"y_axis_format\":
\"SMART_NUMBER\", \"time_format\": \"%d/%m/%Y\", \"sort_x_axis\": \"alpha_asc\",
\"sort_y_axis\": \"alpha_asc\", \"show_legend\": true, \"show_percentage\": false,
\"normalized\": true, \"extra_form_data\": {}, \"dashboards\": [1], \"annotation_layers\":
[], \"legend_type\": \"continuous\"}", "result_format": "json", "result_type": "full"}'
cache_timeout: null
uuid: 36475662-39e4-4405-8946-238078faae5c
version: 1.0.0
dataset_uuid: 0c29bfcb-681d-48ec-a6ec-d7e419783187
......@@ -20,16 +20,13 @@ slice_name: Share of categories by platform
description: null
certified_by: null
certification_details: null
viz_type: heatmap
viz_type: heatmap_v2
params:
datasource: 1__table
viz_type: heatmap
slice_id: 11
all_columns_x: platform_name
all_columns_y:
expressionType: SQL
label: category
sqlExpression: REPLACE(category, 'STATEMENT_CATEGORY_', '')
datasource: 2__table
viz_type: heatmap_v2
slice_id: 7
x_axis: platform_name
groupby: category
metric:
aggregate: SUM
column:
......@@ -68,31 +65,30 @@ params:
sqlExpression: null
subject: created_at
row_limit: 10000
sort_x_axis: alpha_asc
sort_y_axis: alpha_asc
normalize_across: x
legend_type: continuous
linear_color_scheme: dark_blue
xscale_interval: 1
yscale_interval: 1
canvas_image_rendering: pixelated
normalize_across: x
left_margin: auto
bottom_margin: auto
y_axis_bounds:
value_bounds:
- null
- null
y_axis_format: SMART_NUMBER
time_format: '%d/%m/%Y'
sort_x_axis: alpha_asc
sort_y_axis: alpha_asc
x_axis_time_format: smart_date
show_legend: true
show_perc: false
show_percentage: false
normalized: true
extra_form_data: {}
dashboards:
- 1
query_context: '{"datasource":{"id":1,"type":"table"},"force":false,"queries":[{"filters":[{"col":"created_at","op":"TEMPORAL_RANGE","val":"No
filter"}],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":[],"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_or2sgnbpq1b_ec681rjewv","sqlExpression":null}],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"1__table","viz_type":"heatmap","slice_id":11,"all_columns_x":"platform_name","all_columns_y":{"expressionType":"SQL","label":"category","sqlExpression":"REPLACE(category,
''STATEMENT_CATEGORY_'', '''')"},"metric":{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_or2sgnbpq1b_ec681rjewv","sqlExpression":null},"adhoc_filters":[{"clause":"WHERE","comparator":"No
filter","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_r9o2b3ws57_1fgbxvclk7w","isExtra":false,"isNew":false,"operator":"TEMPORAL_RANGE","operatorId":"TEMPORAL_RANGE","sqlExpression":null,"subject":"created_at"}],"row_limit":10000,"linear_color_scheme":"dark_blue","xscale_interval":1,"yscale_interval":1,"canvas_image_rendering":"pixelated","normalize_across":"x","left_margin":"auto","bottom_margin":"auto","y_axis_bounds":[null,null],"y_axis_format":"SMART_NUMBER","time_format":"%d/%m/%Y","sort_x_axis":"alpha_asc","sort_y_axis":"alpha_asc","show_legend":true,"show_perc":false,"normalized":true,"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}'
query_context: '{"datasource":{"id":2,"type":"table"},"force":false,"queries":[{"filters":[{"col":"created_at","op":"TEMPORAL_RANGE","val":"No
filter"}],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":[{"columnType":"BASE_AXIS","sqlExpression":"platform_name","label":"platform_name","expressionType":"SQL"},"category"],"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_or2sgnbpq1b_ec681rjewv","sqlExpression":null}],"orderby":[["platform_name",true],["category",true]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[{"operation":"rank","options":{"metric":"SUM(count)","group_by":"platform_name"}}]}],"form_data":{"datasource":"2__table","viz_type":"heatmap_v2","slice_id":7,"x_axis":"platform_name","groupby":"category","metric":{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_or2sgnbpq1b_ec681rjewv","sqlExpression":null},"adhoc_filters":[{"clause":"WHERE","comparator":"No
filter","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_r9o2b3ws57_1fgbxvclk7w","isExtra":false,"isNew":false,"operator":"TEMPORAL_RANGE","operatorId":"TEMPORAL_RANGE","sqlExpression":null,"subject":"created_at"}],"row_limit":10000,"sort_x_axis":"alpha_asc","sort_y_axis":"alpha_asc","normalize_across":"x","legend_type":"continuous","linear_color_scheme":"dark_blue","xscale_interval":1,"yscale_interval":1,"left_margin":"auto","bottom_margin":"auto","value_bounds":[null,null],"y_axis_format":"SMART_NUMBER","x_axis_time_format":"smart_date","show_legend":true,"show_percentage":false,"normalized":true,"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}'
cache_timeout: null
uuid: 36475662-39e4-4405-8946-238078faae5c
uuid: 0390c51b-e855-401f-8173-011721f532ac
version: 1.0.0
dataset_uuid: 0c29bfcb-681d-48ec-a6ec-d7e419783187
##
## This file is part of dsa_tdb (see https://code.europa.eu/dsa/transparency-database/dsa-tdb).
##
## SPDX-License-Identifier: EUPLv1.2
## Copyright (C) 2024 European Union
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the EUROPEAN UNION PUBLIC LICENCE v. 1.2 as
## published by the European Union.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## EUROPEAN UNION PUBLIC LICENCE v. 1.2 for further details.
##
## You should have received a copy of the EUROPEAN UNION PUBLIC LICENCE v. 1.2.
## along with this program.
##
## If not, see < https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 >.##
slice_name: Share of content category submitted
description: null
certified_by: null
certification_details: null
viz_type: echarts_area
params:
datasource: 2__table
viz_type: echarts_area
x_axis: created_at
time_grain_sqla: P1D
x_axis_sort_asc: true
x_axis_sort_series: name
x_axis_sort_series_ascending: true
metrics:
- total_count
groupby:
- category
contributionMode: row
adhoc_filters:
- expressionType: SIMPLE
subject: created_at
operator: TEMPORAL_RANGE
comparator: No filter
clause: WHERE
sqlExpression: null
isExtra: false
isNew: false
datasourceWarning: false
filterOptionName: filter_9sebrna74ht_z2drtmn794
- expressionType: SQL
sqlExpression: platform_name IN ('Google Maps', 'Zalando', 'AliExpress', 'Instagram',
'TikTok', 'YouTube', 'Google Shopping', 'Stripchat', 'Facebook', 'Google Play',
'Amazon', 'Pinterest', 'App Store', 'Booking.com', 'LinkedIn', 'X', 'Snapchat',
'Temu', 'Shein', 'Pornhub')
clause: WHERE
subject: null
operator: null
comparator: null
isExtra: false
isNew: false
datasourceWarning: false
filterOptionName: filter_xn72hs4oqem_h9d19a396ug
order_desc: true
row_limit: 10000
truncate_metric: true
show_empty_columns: true
comparison_type: values
annotation_layers: []
forecastPeriods: 10
forecastInterval: 0.8
x_axis_title_margin: 15
y_axis_title_margin: 15
y_axis_title_position: Left
sort_series_type: sum
color_scheme: supersetColors
seriesType: line
opacity: 0.2
stack: Stack
only_total: true
markerSize: 6
show_legend: true
legendType: scroll
legendOrientation: top
x_axis_time_format: smart_date
rich_tooltip: true
tooltipTimeFormat: smart_date
y_axis_format: SMART_NUMBER
truncateXAxis: true
y_axis_bounds:
- null
- null
extra_form_data: {}
dashboards:
- 1
query_context: '{"datasource":{"id":2,"type":"table"},"force":false,"queries":[{"filters":[{"col":"created_at","op":"TEMPORAL_RANGE","val":"No
filter"}],"extras":{"time_grain_sqla":"P1D","having":"","where":"(platform_name
IN (''Google Maps'', ''Zalando'', ''AliExpress'', ''Instagram'', ''TikTok'', ''YouTube'',
''Google Shopping'', ''Stripchat'', ''Facebook'', ''Google Play'', ''Amazon'', ''Pinterest'',
''App Store'', ''Booking.com'', ''LinkedIn'', ''X'', ''Snapchat'', ''Temu'', ''Shein'',
''Pornhub''))"},"applied_time_extras":{},"columns":[{"timeGrain":"P1D","columnType":"BASE_AXIS","sqlExpression":"created_at","label":"created_at","expressionType":"SQL"},"category"],"metrics":["total_count"],"orderby":[["total_count",false]],"annotation_layers":[],"row_limit":10000,"series_columns":["category"],"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"time_offsets":[],"post_processing":[{"operation":"pivot","options":{"index":["created_at"],"columns":["category"],"aggregates":{"total_count":{"operator":"mean"}},"drop_missing_columns":false}},{"operation":"rename","options":{"columns":{"total_count":null},"level":0,"inplace":true}},{"operation":"contribution","options":{"orientation":"row","time_shifts":[]}},{"operation":"flatten"}]}],"form_data":{"datasource":"2__table","viz_type":"echarts_area","x_axis":"created_at","time_grain_sqla":"P1D","x_axis_sort_asc":true,"x_axis_sort_series":"name","x_axis_sort_series_ascending":true,"metrics":["total_count"],"groupby":["category"],"contributionMode":"row","adhoc_filters":[{"expressionType":"SIMPLE","subject":"created_at","operator":"TEMPORAL_RANGE","comparator":"No
filter","clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_9sebrna74ht_z2drtmn794"},{"expressionType":"SQL","sqlExpression":"platform_name
IN (''Google Maps'', ''Zalando'', ''AliExpress'', ''Instagram'', ''TikTok'', ''YouTube'',
''Google Shopping'', ''Stripchat'', ''Facebook'', ''Google Play'', ''Amazon'', ''Pinterest'',
''App Store'', ''Booking.com'', ''LinkedIn'', ''X'', ''Snapchat'', ''Temu'', ''Shein'',
''Pornhub'')","clause":"WHERE","subject":null,"operator":null,"comparator":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_xn72hs4oqem_h9d19a396ug"}],"order_desc":true,"row_limit":10000,"truncate_metric":true,"show_empty_columns":true,"comparison_type":"values","annotation_layers":[],"forecastPeriods":10,"forecastInterval":0.8,"x_axis_title_margin":15,"y_axis_title_margin":15,"y_axis_title_position":"Left","sort_series_type":"sum","color_scheme":"supersetColors","seriesType":"line","opacity":0.2,"stack":"Stack","only_total":true,"markerSize":6,"show_legend":true,"legendType":"scroll","legendOrientation":"top","x_axis_time_format":"smart_date","rich_tooltip":true,"tooltipTimeFormat":"smart_date","y_axis_format":"SMART_NUMBER","truncateXAxis":true,"y_axis_bounds":[null,null],"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}'
cache_timeout: null
uuid: a63cda25-056d-4e0a-ac81-94d6429c78ef
version: 1.0.0
dataset_uuid: 0c29bfcb-681d-48ec-a6ec-d7e419783187
##
## This file is part of dsa_tdb (see https://code.europa.eu/dsa/transparency-database/dsa-tdb).
##
## SPDX-License-Identifier: EUPLv1.2
## Copyright (C) 2024 European Union
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the EUROPEAN UNION PUBLIC LICENCE v. 1.2 as
## published by the European Union.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## EUROPEAN UNION PUBLIC LICENCE v. 1.2 for further details.
##
## You should have received a copy of the EUROPEAN UNION PUBLIC LICENCE v. 1.2.
## along with this program.
##
## If not, see < https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 >.##
slice_name: Share of decision account by platform
description: null
certified_by: null
certification_details: null
viz_type: heatmap_v2
params:
datasource: 2__table
viz_type: heatmap_v2
slice_id: 11
x_axis: platform_name
groupby: decision_account
metric: total_count
adhoc_filters:
- clause: WHERE
comparator: No filter
datasourceWarning: false
expressionType: SIMPLE
filterOptionName: filter_7t3n5zme00y_on9k63qrof
isExtra: false
isNew: false
operator: TEMPORAL_RANGE
sqlExpression: null
subject: created_at
- clause: WHERE
comparator: null
datasourceWarning: false
expressionType: SQL
filterOptionName: filter_3o06cc4bd5k_pvyrxrq1fk9
isExtra: false
isNew: false
operator: null
sqlExpression: platform_name IN ('Google Maps', 'Zalando', 'AliExpress', 'Instagram',
'TikTok', 'YouTube', 'Google Shopping', 'Stripchat', 'Facebook', 'Google Play',
'Amazon', 'Pinterest', 'App Store', 'Booking.com', 'LinkedIn', 'X', 'Snapchat',
'Temu', 'Shein', 'Pornhub')
subject: null
row_limit: 10000
sort_x_axis: alpha_asc
sort_y_axis: alpha_asc
normalize_across: x
legend_type: continuous
linear_color_scheme: superset_seq_1
xscale_interval: -1
yscale_interval: -1
left_margin: auto
bottom_margin: auto
value_bounds:
- null
- null
y_axis_format: SMART_NUMBER
x_axis_time_format: smart_date
show_legend: true
show_percentage: true
normalized: true
extra_form_data: {}
dashboards:
- 1
query_context: '{"datasource":{"id":2,"type":"table"},"force":false,"queries":[{"filters":[{"col":"created_at","op":"TEMPORAL_RANGE","val":"No
filter"}],"extras":{"having":"","where":"(platform_name IN (''Google Maps'', ''Zalando'',
''AliExpress'', ''Instagram'', ''TikTok'', ''YouTube'', ''Google Shopping'', ''Stripchat'',
''Facebook'', ''Google Play'', ''Amazon'', ''Pinterest'', ''App Store'', ''Booking.com'',
''LinkedIn'', ''X'', ''Snapchat'', ''Temu'', ''Shein'', ''Pornhub''))"},"applied_time_extras":{},"columns":[{"columnType":"BASE_AXIS","sqlExpression":"platform_name","label":"platform_name","expressionType":"SQL"},"decision_account"],"metrics":["total_count"],"orderby":[["platform_name",true],["decision_account",true]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[{"operation":"rank","options":{"metric":"total_count","group_by":"platform_name"}}]}],"form_data":{"datasource":"2__table","viz_type":"heatmap_v2","slice_id":11,"x_axis":"platform_name","groupby":"decision_account","metric":"total_count","adhoc_filters":[{"clause":"WHERE","comparator":"No
filter","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_7t3n5zme00y_on9k63qrof","isExtra":false,"isNew":false,"operator":"TEMPORAL_RANGE","sqlExpression":null,"subject":"created_at"},{"clause":"WHERE","comparator":null,"datasourceWarning":false,"expressionType":"SQL","filterOptionName":"filter_3o06cc4bd5k_pvyrxrq1fk9","isExtra":false,"isNew":false,"operator":null,"sqlExpression":"platform_name
IN (''Google Maps'', ''Zalando'', ''AliExpress'', ''Instagram'', ''TikTok'', ''YouTube'',
''Google Shopping'', ''Stripchat'', ''Facebook'', ''Google Play'', ''Amazon'', ''Pinterest'',
''App Store'', ''Booking.com'', ''LinkedIn'', ''X'', ''Snapchat'', ''Temu'', ''Shein'',
''Pornhub'')","subject":null}],"row_limit":10000,"sort_x_axis":"alpha_asc","sort_y_axis":"alpha_asc","normalize_across":"x","legend_type":"continuous","linear_color_scheme":"superset_seq_1","xscale_interval":-1,"yscale_interval":-1,"left_margin":"auto","bottom_margin":"auto","value_bounds":[null,null],"y_axis_format":"SMART_NUMBER","x_axis_time_format":"smart_date","show_legend":true,"show_percentage":true,"normalized":true,"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}'
cache_timeout: null
uuid: b2a21e16-9701-4f38-acfa-e56dac9c7532
version: 1.0.0
dataset_uuid: 0c29bfcb-681d-48ec-a6ec-d7e419783187
##
## This file is part of dsa_tdb (see https://code.europa.eu/dsa/transparency-database/dsa-tdb).
##
## SPDX-License-Identifier: EUPLv1.2
## Copyright (C) 2024 European Union
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the EUROPEAN UNION PUBLIC LICENCE v. 1.2 as
## published by the European Union.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## EUROPEAN UNION PUBLIC LICENCE v. 1.2 for further details.
##
## You should have received a copy of the EUROPEAN UNION PUBLIC LICENCE v. 1.2.
## along with this program.
##
## If not, see < https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 >.##
slice_name: Share of decision grounds by platform
description: null
certified_by: null
certification_details: null
viz_type: heatmap_v2
params:
datasource: 1__table
viz_type: heatmap_v2
slice_id: 10
x_axis: platform_name
groupby:
expressionType: SQL
label: decision_ground
sqlExpression: REPLACE(decision_ground, 'DECISION_GROUND_', '')
metric:
aggregate: SUM
column:
advanced_data_type: null
certification_details: null
certified_by: null
column_name: count
description: null
expression: null
filterable: true
groupby: true
id: 797
is_certified: false
is_dttm: false
python_date_format: null
type: BIGINT_TYPE
type_generic: 0
verbose_name: null
warning_markdown: null
datasourceWarning: false
expressionType: SIMPLE
hasCustomLabel: false
label: SUM(count)
optionName: metric_p3z14v8gyor_7omevu9ilx7
sqlExpression: null
adhoc_filters:
- clause: WHERE
comparator: No filter
datasourceWarning: false
expressionType: SIMPLE
filterOptionName: filter_t3jr1z201ar_bbbn91z8h27
isExtra: false
isNew: false
operator: TEMPORAL_RANGE
operatorId: TEMPORAL_RANGE
sqlExpression: null
subject: created_at
row_limit: 10000
linear_color_scheme: dark_blue
xscale_interval: 1
yscale_interval: 1
normalize_across: x
left_margin: auto
bottom_margin: auto
value_bounds:
- null
- null
y_axis_format: SMART_NUMBER
time_format: '%d/%m/%Y'
sort_x_axis: alpha_asc
sort_y_axis: alpha_asc
show_legend: true
show_percentage: false
normalized: true
extra_form_data: {}
dashboards:
- 1
annotation_layers: []
legend_type: continuous
query_context: '{"datasource": {"id": 1, "type": "table"}, "force": false, "queries":
[{"filters": [{"col": "created_at", "op": "TEMPORAL_RANGE", "val": "No filter"}],
"extras": {"having": "", "where": ""}, "applied_time_extras": {}, "columns": [],
"metrics": [{"aggregate": "SUM", "column": {"advanced_data_type": null, "certification_details":
null, "certified_by": null, "column_name": "count", "description": null, "expression":
null, "filterable": true, "groupby": true, "id": 797, "is_certified": false, "is_dttm":
false, "python_date_format": null, "type": "BIGINT_TYPE", "type_generic": 0, "verbose_name":
null, "warning_markdown": null}, "datasourceWarning": false, "expressionType": "SIMPLE",
"hasCustomLabel": false, "label": "SUM(count)", "optionName": "metric_p3z14v8gyor_7omevu9ilx7",
"sqlExpression": null}], "annotation_layers": [], "row_limit": 10000, "series_limit":
0, "order_desc": true, "url_params": {}, "custom_params": {}, "custom_form_data":
{}}], "form_data": "{\"datasource\": \"1__table\", \"viz_type\": \"heatmap_v2\",
\"slice_id\": 10, \"x_axis\": \"platform_name\", \"groupby\": {\"expressionType\":
\"SQL\", \"label\": \"decision_ground\", \"sqlExpression\": \"REPLACE(decision_ground,
''DECISION_GROUND_'', '''')\"}, \"metric\": {\"aggregate\": \"SUM\", \"column\":
{\"advanced_data_type\": null, \"certification_details\": null, \"certified_by\":
null, \"column_name\": \"count\", \"description\": null, \"expression\": null, \"filterable\":
true, \"groupby\": true, \"id\": 797, \"is_certified\": false, \"is_dttm\": false,
\"python_date_format\": null, \"type\": \"BIGINT_TYPE\", \"type_generic\": 0, \"verbose_name\":
null, \"warning_markdown\": null}, \"datasourceWarning\": false, \"expressionType\":
\"SIMPLE\", \"hasCustomLabel\": false, \"label\": \"SUM(count)\", \"optionName\":
\"metric_p3z14v8gyor_7omevu9ilx7\", \"sqlExpression\": null}, \"adhoc_filters\":
[{\"clause\": \"WHERE\", \"comparator\": \"No filter\", \"datasourceWarning\": false,
\"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_t3jr1z201ar_bbbn91z8h27\",
\"isExtra\": false, \"isNew\": false, \"operator\": \"TEMPORAL_RANGE\", \"operatorId\":
\"TEMPORAL_RANGE\", \"sqlExpression\": null, \"subject\": \"created_at\"}], \"row_limit\":
10000, \"linear_color_scheme\": \"dark_blue\", \"xscale_interval\": 1, \"yscale_interval\":
1, \"normalize_across\": \"x\", \"left_margin\": \"auto\", \"bottom_margin\": \"auto\",
\"value_bounds\": [null, null], \"y_axis_format\": \"SMART_NUMBER\", \"time_format\":
\"%d/%m/%Y\", \"sort_x_axis\": \"alpha_asc\", \"sort_y_axis\": \"alpha_asc\", \"show_legend\":
true, \"show_percentage\": false, \"normalized\": true, \"extra_form_data\": {},
\"dashboards\": [1], \"annotation_layers\": [], \"legend_type\": \"continuous\"}",
"result_format": "json", "result_type": "full"}'
cache_timeout: null
uuid: f0f1f207-dafe-4af9-af2a-a06c9cc0ac71
version: 1.0.0
dataset_uuid: 0c29bfcb-681d-48ec-a6ec-d7e419783187
......@@ -20,16 +20,13 @@ slice_name: Share of decision grounds by platform
description: null
certified_by: null
certification_details: null
viz_type: heatmap
viz_type: heatmap_v2
params:
datasource: 1__table
viz_type: heatmap
slice_id: 10
all_columns_x: platform_name
all_columns_y:
expressionType: SQL
label: decision_ground
sqlExpression: REPLACE(decision_ground, 'DECISION_GROUND_', '')
datasource: 2__table
viz_type: heatmap_v2
slice_id: 1
x_axis: platform_name
groupby: decision_ground
metric:
aggregate: SUM
column:
......@@ -68,31 +65,30 @@ params:
sqlExpression: null
subject: created_at
row_limit: 10000
sort_x_axis: alpha_asc
sort_y_axis: alpha_asc
normalize_across: x
legend_type: continuous
linear_color_scheme: dark_blue
xscale_interval: 1
yscale_interval: 1
canvas_image_rendering: pixelated
normalize_across: x
left_margin: auto
bottom_margin: auto
y_axis_bounds:
value_bounds:
- null
- null
y_axis_format: SMART_NUMBER
time_format: '%d/%m/%Y'
sort_x_axis: alpha_asc
sort_y_axis: alpha_asc
x_axis_time_format: smart_date
show_legend: true
show_perc: false
show_percentage: false
normalized: true
extra_form_data: {}
dashboards:
- 1
query_context: '{"datasource":{"id":1,"type":"table"},"force":false,"queries":[{"filters":[{"col":"created_at","op":"TEMPORAL_RANGE","val":"No
filter"}],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":[],"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_p3z14v8gyor_7omevu9ilx7","sqlExpression":null}],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{}}],"form_data":{"datasource":"1__table","viz_type":"heatmap","slice_id":10,"all_columns_x":"platform_name","all_columns_y":{"expressionType":"SQL","label":"decision_ground","sqlExpression":"REPLACE(decision_ground,
''DECISION_GROUND_'', '''')"},"metric":{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_p3z14v8gyor_7omevu9ilx7","sqlExpression":null},"adhoc_filters":[{"clause":"WHERE","comparator":"No
filter","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_t3jr1z201ar_bbbn91z8h27","isExtra":false,"isNew":false,"operator":"TEMPORAL_RANGE","operatorId":"TEMPORAL_RANGE","sqlExpression":null,"subject":"created_at"}],"row_limit":10000,"linear_color_scheme":"dark_blue","xscale_interval":1,"yscale_interval":1,"canvas_image_rendering":"pixelated","normalize_across":"x","left_margin":"auto","bottom_margin":"auto","y_axis_bounds":[null,null],"y_axis_format":"SMART_NUMBER","time_format":"%d/%m/%Y","sort_x_axis":"alpha_asc","sort_y_axis":"alpha_asc","show_legend":true,"show_perc":false,"normalized":true,"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}'
query_context: '{"datasource":{"id":2,"type":"table"},"force":false,"queries":[{"filters":[{"col":"created_at","op":"TEMPORAL_RANGE","val":"No
filter"}],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":[{"columnType":"BASE_AXIS","sqlExpression":"platform_name","label":"platform_name","expressionType":"SQL"},"decision_ground"],"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_p3z14v8gyor_7omevu9ilx7","sqlExpression":null}],"orderby":[["platform_name",true],["decision_ground",true]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[{"operation":"rank","options":{"metric":"SUM(count)","group_by":"platform_name"}}]}],"form_data":{"datasource":"2__table","viz_type":"heatmap_v2","slice_id":1,"x_axis":"platform_name","groupby":"decision_ground","metric":{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_p3z14v8gyor_7omevu9ilx7","sqlExpression":null},"adhoc_filters":[{"clause":"WHERE","comparator":"No
filter","datasourceWarning":false,"expressionType":"SIMPLE","filterOptionName":"filter_t3jr1z201ar_bbbn91z8h27","isExtra":false,"isNew":false,"operator":"TEMPORAL_RANGE","operatorId":"TEMPORAL_RANGE","sqlExpression":null,"subject":"created_at"}],"row_limit":10000,"sort_x_axis":"alpha_asc","sort_y_axis":"alpha_asc","normalize_across":"x","legend_type":"continuous","linear_color_scheme":"dark_blue","xscale_interval":1,"yscale_interval":1,"left_margin":"auto","bottom_margin":"auto","value_bounds":[null,null],"y_axis_format":"SMART_NUMBER","x_axis_time_format":"smart_date","show_legend":true,"show_percentage":false,"normalized":true,"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}'
cache_timeout: null
uuid: f0f1f207-dafe-4af9-af2a-a06c9cc0ac71
uuid: 821b0ced-ef85-4623-aea2-d3e424b53954
version: 1.0.0
dataset_uuid: 0c29bfcb-681d-48ec-a6ec-d7e419783187
##
## This file is part of dsa_tdb (see https://code.europa.eu/dsa/transparency-database/dsa-tdb).
##
## SPDX-License-Identifier: EUPLv1.2
## Copyright (C) 2024 European Union
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the EUROPEAN UNION PUBLIC LICENCE v. 1.2 as
## published by the European Union.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## EUROPEAN UNION PUBLIC LICENCE v. 1.2 for further details.
##
## You should have received a copy of the EUROPEAN UNION PUBLIC LICENCE v. 1.2.
## along with this program.
##
## If not, see < https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 >.##
slice_name: Share of decision monetary by platform
description: null
certified_by: null
certification_details: null
viz_type: heatmap_v2
params:
datasource: 2__table
viz_type: heatmap_v2
slice_id: 10
x_axis: platform_name
groupby: decision_monetary
metric:
aggregate: SUM
column:
advanced_data_type: null
certification_details: null
certified_by: null
column_name: count
description: null
expression: null
filterable: true
groupby: true
id: 797
is_certified: false
is_dttm: false
python_date_format: null
type: BIGINT_TYPE
type_generic: 0
verbose_name: null
warning_markdown: null
datasourceWarning: false
expressionType: SIMPLE
hasCustomLabel: false
label: SUM(count)
optionName: metric_uytt45amtk_o0pdsesx79
sqlExpression: null
adhoc_filters:
- expressionType: SIMPLE
subject: content_date
operator: TEMPORAL_RANGE
operatorId: TEMPORAL_RANGE
comparator: No filter
clause: WHERE
sqlExpression: null
isExtra: false
isNew: false
datasourceWarning: false
filterOptionName: filter_m71zi9ftms8_kr8n9m99cp
- expressionType: SIMPLE
subject: platform_name
operator: IN
operatorId: IN
comparator:
- Google Maps
- Zalando
- AliExpress
- Instagram
- TikTok
- YouTube
- Google Shopping
- Stripchat
- Facebook
- Google Play
- Amazon
- Pinterest
- App Store
- Booking.com
- LinkedIn
- X
- Snapchat
- Temu
- Shein
- Pornhub
clause: WHERE
sqlExpression: null
isExtra: false
isNew: false
datasourceWarning: false
filterOptionName: filter_id5y2bsokb_xyct0hx2cqd
row_limit: 10000
sort_x_axis: alpha_asc
sort_y_axis: alpha_asc
normalize_across: x
legend_type: continuous
linear_color_scheme: dark_blue
xscale_interval: 1
yscale_interval: 1
left_margin: auto
bottom_margin: auto
value_bounds:
- null
- null
y_axis_format: SMART_NUMBER
x_axis_time_format: smart_date
show_legend: true
show_percentage: false
normalized: true
extra_form_data: {}
dashboards:
- 1
query_context: '{"datasource":{"id":2,"type":"table"},"force":false,"queries":[{"filters":[{"col":"content_date","op":"TEMPORAL_RANGE","val":"No
filter"},{"col":"platform_name","op":"IN","val":["Google Maps","Zalando","AliExpress","Instagram","TikTok","YouTube","Google
Shopping","Stripchat","Facebook","Google Play","Amazon","Pinterest","App Store","Booking.com","LinkedIn","X","Snapchat","Temu","Shein","Pornhub"]}],"extras":{"having":"","where":""},"applied_time_extras":{},"columns":[{"columnType":"BASE_AXIS","sqlExpression":"platform_name","label":"platform_name","expressionType":"SQL"},"decision_monetary"],"metrics":[{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_uytt45amtk_o0pdsesx79","sqlExpression":null}],"orderby":[["platform_name",true],["decision_monetary",true]],"annotation_layers":[],"row_limit":10000,"series_limit":0,"order_desc":true,"url_params":{},"custom_params":{},"custom_form_data":{},"post_processing":[{"operation":"rank","options":{"metric":"SUM(count)","group_by":"platform_name"}}]}],"form_data":{"datasource":"2__table","viz_type":"heatmap_v2","slice_id":10,"x_axis":"platform_name","groupby":"decision_monetary","metric":{"aggregate":"SUM","column":{"advanced_data_type":null,"certification_details":null,"certified_by":null,"column_name":"count","description":null,"expression":null,"filterable":true,"groupby":true,"id":797,"is_certified":false,"is_dttm":false,"python_date_format":null,"type":"BIGINT_TYPE","type_generic":0,"verbose_name":null,"warning_markdown":null},"datasourceWarning":false,"expressionType":"SIMPLE","hasCustomLabel":false,"label":"SUM(count)","optionName":"metric_uytt45amtk_o0pdsesx79","sqlExpression":null},"adhoc_filters":[{"expressionType":"SIMPLE","subject":"content_date","operator":"TEMPORAL_RANGE","operatorId":"TEMPORAL_RANGE","comparator":"No
filter","clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_m71zi9ftms8_kr8n9m99cp"},{"expressionType":"SIMPLE","subject":"platform_name","operator":"IN","operatorId":"IN","comparator":["Google
Maps","Zalando","AliExpress","Instagram","TikTok","YouTube","Google Shopping","Stripchat","Facebook","Google
Play","Amazon","Pinterest","App Store","Booking.com","LinkedIn","X","Snapchat","Temu","Shein","Pornhub"],"clause":"WHERE","sqlExpression":null,"isExtra":false,"isNew":false,"datasourceWarning":false,"filterOptionName":"filter_id5y2bsokb_xyct0hx2cqd"}],"row_limit":10000,"sort_x_axis":"alpha_asc","sort_y_axis":"alpha_asc","normalize_across":"x","legend_type":"continuous","linear_color_scheme":"dark_blue","xscale_interval":1,"yscale_interval":1,"left_margin":"auto","bottom_margin":"auto","value_bounds":[null,null],"y_axis_format":"SMART_NUMBER","x_axis_time_format":"smart_date","show_legend":true,"show_percentage":false,"normalized":true,"extra_form_data":{},"dashboards":[1],"force":false,"result_format":"json","result_type":"full"},"result_format":"json","result_type":"full"}'
cache_timeout: null
uuid: aaad9fc0-1fa7-443c-adb5-e2d00749b260
version: 1.0.0
dataset_uuid: 0c29bfcb-681d-48ec-a6ec-d7e419783187
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment